Merging PDFs with ITextSharp

后端 未结 2 1542
轮回少年
轮回少年 2020-12-05 18:58

What is the optimum way to merge 2 PDF files with ITextSharp in C#? I\'m using ASP.NET/.NET3.5.

2条回答
  •  北海茫月
    2020-12-05 19:38

    The last answer works if you don't want to delete the original files. In my case, I want to delete and when I tried I got exception. My solution is:

      public static bool MergePDFs(List InFiles, String OutFile)
            {
                bool merged = true;
                try
                {
                    List readerList = new List();
                    foreach (string filePath in InFiles)
                    {
                        PdfReader pdfReader = new PdfReader(filePath);
                        readerList.Add(pdfReader);
                    }
    
                    //Define a new output document and its size, type
                    Document document = new Document(PageSize.A4, 0, 0, 0, 0);
                    //Create blank output pdf file and get the stream to write on it.
                    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(OutFile, FileMode.Create));
                    document.Open();
    
                    foreach (PdfReader reader in readerList)
                    {
                        PdfReader.unethicalreading = true;
                        for (int i = 1; i <= reader.NumberOfPages; i++)
                        {
                            PdfImportedPage page = writer.GetImportedPage(reader, i);
                            document.Add(iTextSharp.text.Image.GetInstance(page));
                        }
                    }
                    document.Close();
                    foreach (PdfReader reader in readerList)
                    {
                        reader.Close();
                    }
    
                }
                catch (Exception ex)
                {
                    merged = false;
                }
    
    
                return merged;
            }
    

    I copied the code from Original Code

提交回复
热议问题