Home >Backend Development >Python Tutorial >How to Merge PDF Files with Python Scripting Techniques?

How to Merge PDF Files with Python Scripting Techniques?

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 08:32:02424browse

How to Merge PDF Files with Python Scripting Techniques?

Merge PDF Files with Python

File Concatenation

Using PyPDF's PdfMerger class, you can concatenate PDF files simply by appending them:

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

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

merger = PdfMerger()

for pdf in pdfs:
    merger.append(pdf)

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

File Merging

For finer control, use PdfMerger's merge method to specify insertion points within the output file:

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

This inserts the entire PDF at page 2 of the output.

Page Ranges

To control which pages are merged, use the pages keyword argument:

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

Excluding a Specific Page

To exclude a specific page appearing in all PDFs, you'll need to iterate through each page and check if it's the extra blank page:

<code class="python">for i in range(len(pdfs)):
    num_pages = merger.getPageNumber(i)
    for page_num in range(num_pages):
        page = merger.getPage(i, page_num)
        # Check if page is the extra blank page and exclude it
        exclude = True 
        if exclude:
            merger.deletePage(i, page_num)</code>

Additional Tools

  • PyMuPDF: Merge PDFs via command line or code:

    python -m fitz join -o result.pdf file1.pdf file2.pdf file3.pdf

Note: Remember to call PdfMerger's close() method to ensure all files are closed properly.

The above is the detailed content of How to Merge PDF Files with Python Scripting Techniques?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn