Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menggabungkan Berbilang PDF Dijana Masa Jalan Menggunakan ITextSharp?

Bagaimana untuk Menggabungkan Berbilang PDF Dijana Masa Jalan Menggunakan ITextSharp?

Linda Hamilton
Lepaskan: 2024-12-27 08:18:11
asal
631 orang telah melayarinya

How to Merge Multiple Runtime-Generated PDFs Using ITextSharp?

Bagaimana untuk Menggabungkan dan Mencetak Berbilang PDF Dijana semasa Runtime Menggunakan ITextSharp?

Untuk menggabungkan berbilang PDF yang dijana semasa runtime menggunakan ITextSharp, anda mempunyai dua pilihan utama: menggunakan PdfCopy keluarga kelas atau PdfWriter kelas.

Keluarga PdfCopy

Kelas Pdf*Copy* membolehkan anda menggabungkan PDF sambil mengekalkan format asal dan anotasi interaktifnya. Untuk pendekatan ini, ikut langkah berikut:

  1. Mulakan dokumen PDF kosong.
  2. Buat objek PdfCopy.
  3. Gelung melalui bait PDF yang dijana.
  4. Untuk setiap tatasusunan bait, buat PdfReader dan import halamannya ke dalam PdfCopy objek.

Contoh Menggunakan 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();
}
Salin selepas log masuk

Kelas PdfWriter

Kelas PdfWriter membolehkan anda menyepadukan halaman daripada sumber PDF ke dalam dokumen baharu tanpa mengekalkan interaktiviti asalnya. Gunakan pendekatan ini jika anda tidak mengambil berat tentang anotasi atau ciri lain dalam PDF sumber.

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();
}
Salin selepas log masuk

Untuk butiran lanjut, rujuk dokumentasi iTextSharp atau contoh kod yang disediakan dalam jawapan yang dipautkan.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Berbilang PDF Dijana Masa Jalan Menggunakan ITextSharp?. 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