public static void MergePdf() { using (MemoryStream stream = new MemoryStream()) { PdfDocument pdfDoc = new PdfDocument(new PdfWriter(stream)); iText.Kernel.Utils.PdfMerger merger = new iText.Kernel.Utils.PdfMerger(pdfDoc); foreach (byte[] pdf in Pdfs) { PdfDocument currentPdf = new PdfDocument(new PdfReader(new MemoryStream(pdf))); merger.Merge(currentPdf, 1, currentPdf.GetNumberOfPages()); currentPdf.Close(); } merger.Close(); pdfDoc.Close(); FinalMergedPdfURL = Format + Convert.ToBase64String(stream.ToArray()); } IsSubmitComplete = true; IsMergeComplete = true; }
public virtual void MergeOutlinesNamedDestinations() { String filename = sourceFolder + "outlinesNamedDestinations.pdf"; String resultFile = destinationFolder + "mergeOutlinesNamedDestinations.pdf"; PdfReader reader = new PdfReader(filename); PdfDocument sourceDoc = new PdfDocument(reader); PdfDocument output = new PdfDocument(new PdfWriter(resultFile)); PdfMerger merger = new PdfMerger(output).SetCloseSourceDocuments(false); merger.Merge(sourceDoc, 2, 3); merger.Merge(sourceDoc, 2, 3); sourceDoc.Close(); reader.Close(); merger.Close(); output.Close(); CompareTool compareTool = new CompareTool(); String errorMessage = compareTool.CompareByContent(resultFile, sourceFolder + "cmp_mergeOutlinesNamedDestinations.pdf" , destinationFolder, "diff_"); if (errorMessage != null) { NUnit.Framework.Assert.Fail(errorMessage); } }