Heim >Backend-Entwicklung >C++ >Wie kann ich mit iTextSharp mehrere dynamisch generierte PDFs zusammenführen?
Zusammenführen mehrerer dynamisch generierter PDF-Dateien: Ein iTextSharp-Ansatz
Kontext:
Diese Frage bezieht sich auf das Zusammenführen mehrere PDF-Dateien, die dynamisch in Echtzeit generiert werden. Ziel ist es, diese Dateien zu Druckzwecken zusammenzuführen.
Lösung:
Um mehrere PDF-Dateien mit iTextSharp zusammenzuführen, gibt es zwei Hauptansätze:
1. PdfCopy-Klasse
Wenn das Ziel darin besteht, Seiten in ihrem Originalformat zusammenzuführen und dabei den Inhalt und die interaktiven Anmerkungen beizubehalten, sollte die PdfCopy-Klasse verwendet werden. Nachfolgend finden Sie ein Beispiel für die Verwendung von PdfCopy:
// Assuming pdf is a List<byte[]> containing in-memory PDF documents 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) { PdfReader reader = new PdfReader(pdf[i]); int n = reader.NumberOfPages; for (int page = 0; page < n; ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } } } } mergedPdf = ms.ToArray(); }
2. PdfWriter-Klasse
Wenn das Ziel alternativ darin besteht, Seiten aus Quelldokumenten in ein neues Dokument zu integrieren, das allgemeine Format anzupassen und interaktive Anmerkungen zu ignorieren, sollte die PdfWriter-Klasse verwendet werden. Diese Klasse importiert Seiten aus anderen PDF-Dokumenten, verwirft jedoch deren interaktive Funktionen.
Zusätzliche Überlegungen:
Die Lösung sollte sein ausgewählt basierend auf den spezifischen Anforderungen des Projekts.
Das obige ist der detaillierte Inhalt vonWie kann ich mit iTextSharp mehrere dynamisch generierte PDFs zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!