Heim >Backend-Entwicklung >C++ >Wie kann ich mit ITextSharp mehrere programmgesteuert generierte PDF-Dateien in C# zusammenführen?
Einführung
Bei der Automatisierung der Dokumentenerstellung ist dies häufig erforderlich um mehrere dynamisch generierte PDF-Dateien in einer einzigen Ausgabe zum Drucken zusammenzuführen. In diesem Artikel wird untersucht, wie Sie dies mit ItextSharp erreichen können.
Zusammenführungsstrategien
ItextSharp bietet zwei Hauptansätze zum Zusammenführen von PDF-Dokumenten:
Lösung mit PdfCopy
Das folgende Codebeispiel demonstriert das Zusammenführen von PDF-Dateien mit PdfCopy:
using iTextSharp.text; using iTextSharp.text.pdf; using System.Collections.Generic; using System.IO; namespace MergePdfs { class Program { static void Main(string[] args) { // Create a list of byte arrays for each PDF file List<byte[]> pdfs = new List<byte[]>(); // Read each PDF file into the list foreach (string filePath in args) { pdfs.Add(File.ReadAllBytes(filePath)); } // Merge the PDFs byte[] mergedPdf = null; using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfCopy copy = new PdfCopy(document, ms)) { document.Open(); foreach (byte[] pdf in pdfs) { PdfReader reader = new PdfReader(pdf); int n = reader.NumberOfPages; for (int page = 1; page <= n; page++) { copy.AddPage(copy.GetImportedPage(reader, page)); } } } } mergedPdf = ms.ToArray(); } // Print the merged PDF // ... (code for printing the merged PDF) } } }
In diesem Beispiel enthält pdfs die Byte-Arrays der PDF-Dateien, und die PdfCopy-Klasse wird verwendet, um Seiten aus jedem Quelldokument hinzuzufügen.
Weitere Überlegungen
PdfCopy kann bei großen Dokumenten zu Leistungsproblemen und Speicherverbrauch führen. PdfSmartCopy und PdfWriter bieten Alternativen mit Kompromissen bei Leistung und Funktionsunterstützung.
Ausführlichere Informationen und Codebeispiele finden Sie in der iText in Action-Dokumentation (Kapitel 6, Abschnitt 6.4):
Das obige ist der detaillierte Inhalt vonWie kann ich mit ITextSharp mehrere programmgesteuert generierte PDF-Dateien in C# zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!