Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggabungkan Berbilang PDF Dijana Secara Dinamik Menggunakan iTextSharp?
Menggabungkan Berbilang Fail PDF Dijana Secara Dinamik: Pendekatan iTextSharp
Konteks:
Soalan ini berkaitan dengan penggabungan berbilang fail PDF yang dijana secara dinamik dalam masa nyata. Matlamatnya adalah untuk menggabungkan fail ini untuk tujuan pencetakan.
Penyelesaian:
Untuk menggabungkan berbilang fail PDF menggunakan iTextSharp, terdapat dua pendekatan utama:
1. Kelas PdfCopy
Jika objektifnya adalah untuk menggabungkan halaman dalam format asalnya, sambil mengekalkan kandungan dan anotasi interaktif, kelas PdfCopy harus digunakan. Contoh menggunakan PdfCopy disediakan di bawah:
// 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. Kelas PdfWriter
Sebagai alternatif, jika matlamatnya adalah untuk menyepadukan halaman daripada dokumen sumber ke dalam dokumen baharu, menyesuaikan format umum dan mengabaikan anotasi interaktif, kelas PdfWriter harus digunakan. Kelas ini mengimport halaman daripada dokumen PDF lain tetapi buang ciri interaktifnya.
Pertimbangan Tambahan:
Penyelesaian haruslah dipilih berdasarkan keperluan khusus projek.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang PDF Dijana Secara Dinamik Menggunakan iTextSharp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!