Heim >Backend-Entwicklung >C++ >Wie kann ich In-Memory-PDFs mithilfe von ITextSharp zum Drucken effizient im Handumdrehen zusammenführen?
So verketten Sie mehrere zur Laufzeit generierte PDFs ohne Vorkenntnisse von Dateinamen mit ItextSharp für nachfolgende Drucken?
Um PDFs im Handumdrehen mit ItextSharp zusammenzuführen, gibt es zwei Hauptansätze:
Verwenden von PdfCopy (zur Beibehaltung der Originalformatierung)
using System.Collections.Generic; using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas.Parser; using iText.Kernel.Pdf.PdfDocument; using iText.Kernel.Pdf.PdfWriter; byte[] mergedPdf = null; using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfCopy copy = new PdfCopy(document, ms)) { document.Open(); for (int i = 0; i < pdf.Count; ++i) { PdfDocument reader = new PdfDocument(new PdfReader(pdf[i])); for (int page = 0; page < reader.GetNumberOfPages(); ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } } } } mergedPdf = ms.ToArray(); }
Verwenden von PdfWriter (für Efficient Seitenintegration)
using System.Collections.Generic; using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas.Parser; using iText.Kernel.Pdf.PdfDocument; using iText.Kernel.Pdf.PdfWriter; byte[] mergedPdf = null; using (MemoryStream ms = new MemoryStream()) { using (PdfWriter writer = new PdfWriter(ms)) { PdfDocument document = new PdfDocument(writer); PdfDocumentBuilder pdfBuilder = new PdfDocumentBuilder(document); for (int i = 0; i < pdf.Count; ++i) { PdfDocument reader = new PdfDocument(new PdfReader(pdf[i])); for (int page = 0; page < reader.GetNumberOfPages(); ) { PdfCanvas canvas = new PdfCanvas(pdfBuilder.GetPageAt(++page)); PdfFormXObject importedPage = new PdfFormXObject(reader.GetPage(page)); canvas.AddImportedPage(importedPage); } } } mergedPdf = ms.ToArray(); }
Das obige ist der detaillierte Inhalt vonWie kann ich In-Memory-PDFs mithilfe von ITextSharp zum Drucken effizient im Handumdrehen zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!