1

我有这段代码,就像我没有提出任何规范来排除页面一样。我需要选择最多 8 个,而不是连续的页面。比方说,第 3、6 和 9 页。所以我尝试了这个:

                var PDFs = new List<PdfDocument>();
                PDFs.Add(PdfDocument.FromFile(buscarpoliza.FileName));
                PdfDocument PDF = PdfDocument.Merge(PDFs);
                int paginas = (Convert.ToInt32(pdfpaginas.Text)) - 1;
                PDF.CopyPage(paginas).SaveAs("merged.pdf");

                var PDFs2 = new List<PdfDocument>();
                PDFs2.Add(PdfDocument.FromFile(buscarpoliza.FileName));
                PdfDocument PDF2 = PdfDocument.Merge(PDFs2);
                int paginas2 = (Convert.ToInt32(pdfpaginas2.Text)) - 1;
                PDF2.CopyPage(paginas2).SaveAs("merged2.pdf");

                var PDFs3 = new List<PdfDocument>();
                PDFs.Add(PdfDocument.FromFile(buscarpoliza.FileName));
                PdfDocument PDF3 = PdfDocument.Merge(PDFs3);
                int paginas3 = (Convert.ToInt32(pdfpaginas3.Text)) - 1;
                PDF3.CopyPage(paginas3).SaveAs("merged3.pdf");

                var PDF33 = new List<PdfDocument>();
                PDF33.Add(PdfDocument.FromFile("merged.pdf"));
                PDF33.Add(PdfDocument.FromFile("merged2.pdf"));
                PDF33.Add(PdfDocument.FromFile("merged3.pdf"));
                PdfDocument PDF3F = PdfDocument.Merge(PDF33);
                PDF3F.SaveAs("merged3f.pdf");

在我的编程专业知识低下,我阅读了整个代码,试图找出为什么代码保存了整个 pdf 文件,而不是文本框中指定的页面。我阅读了文档并没有发现有关保存多个特定页面或一组页面(例如,从 6 到 9)的信息。任何帮助将不胜感激。谢谢你。

4

1 回答 1

0

似乎这是使用 IronPdf 的方法,我还没有找到另一种更改 pdf 页面的方法,在另一个 pdf 文档的开头或结尾页面插入或添加等等。这涉及将页面从一个 pdf 复制到最后一个。

例如,要获取从 6 到 9 的页面,您可以根据索引值进行迭代,然后将页面添加到最终结果中:

var finalPdfPages = new List<PdfDocument>();
var originalPdf = PdfDocument.FromFile("pathToPdfFile");
for (int pageIndex = 6; pageIndex == 9; pageIndex++)
{
    finalPdfPages.Add(originalPdf.CopyPage(pageIndex));
}

PdfDocument pdf = PdfDocument.Merge(finalPdfPages);
于 2021-05-05T16:27:01.150 回答