Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menggabungkan Fail PDF Dijana Runtime dalam iTextSharp untuk Percetakan?

Bagaimana untuk Menggabungkan Fail PDF Dijana Runtime dalam iTextSharp untuk Percetakan?

Susan Sarandon
Lepaskan: 2024-12-25 20:26:10
asal
660 orang telah melayarinya

How to Merge Runtime-Generated PDF Files in iTextSharp for Printing?

Menggabungkan Berbilang Fail PDF Dijana pada Masa Jalan

Soalan:

Bagaimana cara saya menggabungkan berbilang Fail PDF dijana pada masa jalan menggunakan iTextSharp untuk pencetakan tujuan?

Jawapan:

Untuk menggabungkan dokumen sumber dalam iText(Sharp), dua situasi berbeza timbul:

  1. Memelihara Reka Letak Asal:
    Untuk menggabungkan dokumen dengan halaman yang tidak diubah, anotasi, dan kandungan, menggunakan penyelesaian berdasarkan keluarga kelas Pdf*Copy*. Ini memastikan integriti ciri interaktif dokumen asal.
  2. Mencipta Dokumen Baharu:
    Untuk menyepadukan halaman sambil mengawal format keseluruhan dan membuang ciri interaktif, pertimbangkan untuk menggunakan kelas PdfWriter . Ia membenarkan mengimport halaman daripada dokumen sumber dan mengawal pembentangannya.

Pelaksanaan Menggunakan PdfCopy:

byte[] mergedPdf = null;
using (MemoryStream ms = new MemoryStream())
{
    using (Document document = new Document())
    {
        using (PdfCopy copy = new PdfCopy(document, ms))
        {
            document.Open();
            // Iterate over the PDF byte arrays and add pages to the merged document
            for (int i = 0; i < pdf.Count; ++i)
            {
                PdfReader reader = new PdfReader(pdf[i]);
                // Extract pages from the reader and add them to the merged document
                int n = reader.NumberOfPages;
                for (int page = 0; page < n; )
                {
                    copy.AddPage(copy.GetImportedPage(reader, ++page));
                }
            }
        }
    }
    mergedPdf = ms.ToArray();
}
Salin selepas log masuk

Dalam kod yang disediakan, pdf ialah susunan tatasusunan bait, setiap satu mewakili dokumen PDF yang dijana. Tatasusunan baitPdf gabungan yang terhasil mengandungi kandungan PDF gabungan yang disediakan untuk dicetak.

Ringkasan Kelas:

  • PdfCopy: Menyalin halaman tanpa redundansi pengesanan, tetapi boleh bergelut dengannya borang.
  • PdfCopyFields: Menggabungkan medan dan borang tetapi mungkin menggunakan memori yang berlebihan.
  • PdfSmartCopy: Mengesan lebihan dengan cekap tetapi memerlukan lebih banyak sumber.
  • PdfWriter: Mengimport halaman tetapi mengorbankan ciri interaktif halaman yang diimport.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Fail PDF Dijana Runtime dalam iTextSharp untuk Percetakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan