Rumah >pembangunan bahagian belakang >Tutorial Python >Bolehkah Python Melakukan Penggabungan dan Manipulasi Fail PDF Menggunakan PyPDF?

Bolehkah Python Melakukan Penggabungan dan Manipulasi Fail PDF Menggunakan PyPDF?

Susan Sarandon
Susan Sarandonasal
2024-10-23 08:29:01379semak imbas

Can Python Perform PDF File Merging and Manipulation Using PyPDF?

Bolehkah Python Menggabungkan Fail PDF?

Python menyediakan keupayaan yang luas untuk memanipulasi dokumen PDF, termasuk penggabungan. Pustaka versatilepypdf menawarkan alat yang mudah untuk menggabungkan berbilang fail PDF.

Penggabungan Fail

Menggunakan kaedah tambah kelas PdfMerger, gabungkan fail secara berurutan:

<code class="python">from pypdf import PdfMerger

pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']

merger = PdfMerger()

for pdf in pdfs:
    merger.append(pdf)

merger.write("result.pdf")
merger.close()</code>

Penggabungan Berbutir Halus

Untuk lebih kawalan, gunakan kaedah cantum untuk memasukkan halaman di lokasi tertentu:

<code class="python">merger.merge(2, pdf)</code>

Julat Halaman

Tentukan julat halaman untuk ditambahkan daripada fail tertentu menggunakan hujah kata kunci halaman:

<code class="python">merger.append(pdf, pages=(0, 3))    # first 3 pages
merger.append(pdf, pages=(0, 6, 2)) # pages 1,3, 5</code>

Mengendalikan Halaman Kosong

Untuk mengecualikan halaman kosong yang terdapat dalam setiap PDF, gunakan kaedah insert_pdf PyMuPdf:

<code class="python">import fitz

result = fitz.open()

for pdf in ['file1.pdf', 'file2.pdf', 'file3.pdf']:
    with fitz.open(pdf) as mfile:
        for page in mfile.pages:
            # Skip empty pages
            if page.get_text('blocks') != '':
                result.insert_page(len(result), page)

result.save("merged_without_empty.pdf")</code>

Atas ialah kandungan terperinci Bolehkah Python Melakukan Penggabungan dan Manipulasi Fail PDF Menggunakan PyPDF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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