Пример #1
0
        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;
        }
Пример #2
0
        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);
            }
        }