Heim >Backend-Entwicklung >C++ >Wie füge ich mehrere zur Laufzeit generierte PDFs mit ITextSharp zusammen?
Um mehrere zur Laufzeit generierte PDFs mit ITextSharp zusammenzuführen, haben Sie zwei Hauptoptionen: die Verwendung von PdfCopy Klassenfamilie oder die PdfWriter-Klasse.
PdfCopy Familie
Mit den Pdf*Copy*-Klassen können Sie PDFs zusammenführen und dabei ihr Originalformat und interaktive Anmerkungen beibehalten. Befolgen Sie für diesen Ansatz die folgenden Schritte:
Beispiel für die Verwendung von PdfCopy:
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 < pdfBytes.Count; ++i) { PdfReader reader = new PdfReader(pdfBytes[i]); int n = reader.NumberOfPages; for (int page = 0; page < n; ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } } } } mergedPdf = ms.ToArray(); }
PdfWriter-Klasse
Mit der PdfWriter-Klasse können Sie Folgendes tun Integrieren Sie Seiten aus Quell-PDFs in ein neues Dokument, ohne ihre ursprüngliche Interaktivität beizubehalten. Verwenden Sie diesen Ansatz, wenn Sie sich keine Gedanken über Anmerkungen oder andere Funktionen in den Quell-PDFs machen.
using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfWriter writer = PdfWriter.GetInstance(document, ms)) { document.Open(); for (int i = 0; i < pdfBytes.Count; ++i) { PdfReader reader = new PdfReader(pdfBytes[i]); int n = reader.NumberOfPages; for (int page = 0; page < n; ) { PdfImportedPage importedPage = writer.GetImportedPage(reader, ++page); writer.Add(importedPage); } reader.Close(); } } } mergedPdf = ms.ToArray(); }
Weitere Einzelheiten finden Sie in der iTextSharp-Dokumentation oder in den Codebeispielen in der verlinkten Antwort.
Das obige ist der detaillierte Inhalt vonWie füge ich mehrere zur Laufzeit generierte PDFs mit ITextSharp zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!