使用itextsharp将多个pdf文件添加到现有文件

时间:2015-03-02 05:10:43

标签: c# pdf itextsharp

我正在尝试逐页阅读一些pdf文件,并使用itextsharp将页面添加到现有的pdf中。这是我的解决方案:

string path2 = Server.MapPath("~/2.pdf");
PdfReader reader = null;
iTextSharp.text.Document document = null;
PdfCopy pdfCopyProvider = null;
PdfImportedPage importedPage = null;
foreach (var pdfName in pdfNames)
{
    path1 = Path.Combine(Server.MapPath("~/Files/Pdf/temp/"), pdfName);
    reader = new PdfReader(path1);
    for (int pageIndex = 1; pageIndex <= reader.NumberOfPages; pageIndex++)
    {
        document = new iTextSharp.text.Document(reader.GetPageSizeWithRotation(pageIndex));
        pdfCopyProvider = new PdfCopy(document, new System.IO.FileStream(path2, System.IO.FileMode.Append));
        document.Open();
        importedPage = pdfCopyProvider.GetImportedPage(reader, pageIndex);
        iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(importedPage);
        pdfCopyProvider.AddPage(importedPage);
    }
    reader.Close();
    document.Close();
}

但输出pdf只包含foreach循环中最后一个pdf的页面。

0 个答案:

没有答案