ホームページ >バックエンド開発 >Python チュートリアル >PDF ファイルを Python と結合する方法: 包括的なガイド

PDF ファイルを Python と結合する方法: 包括的なガイド

DDD
DDDオリジナル
2024-10-23 08:30:29760ブラウズ

How to Merge PDF Files with Python: A Comprehensive Guide

Python による PDF ファイルの結合

Python には PDF ファイルを結合するための強力なオプションがあり、複数のドキュメントを 1 つの統合されたドキュメントに結合できます。 。このチュートリアルでは、ディレクトリのループや特定のページの除外などの高度なテクニックを含むプロセスを説明します。

pypdf Merging クラスの使用

pypdf は PdfMerger クラスを提供します。 PDF ファイルを簡単に連結および結合する方法を提供します。

ファイルの連結

append メソッドを使用してファイルを追加して連結します:

<code class="python">import PdfMerger

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

merger = PdfMerger()

for pdf in pdfs:
    merger.append(pdf)

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

ファイルの結合

さらに細かく制御するには、結合メソッドを使用して挿入ポイントを指定します。

<code class="python">merger.merge(2, pdf)  # Insert PDF at page 2</code>

ページ範囲

ページのキーワード引数を使用して追加するページを制御します:

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

空白ページの除外

結合されたすべての PDF から特定のページを除外するには、ページを操作できます。それに応じてパラメータを変更します。たとえば、各 PDF からページ 1 を除外するには:

<code class="python">pages_to_exclude = [0]  # Page 1

for pdf in pdfs:
    merger.append(pdf, pages=(i for i in range(pages) if i not in pages_to_exclude))</code>

PyMuPdf Library

もう 1 つのオプションは PyMuPdf ライブラリです。 PDF を結合する方法は次のとおりです:

コマンドラインから

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

コードから

<code class="python">import fitz

result = fitz.open()

for pdf in ['file1.pdf', 'file2.pdf', 'file3.pdf']:
    with fitz.open(pdf) as mfile:
        result.insert_pdf(mfile)
    result.save("result.pdf")</code>

フォルダーをループする

フォルダーをループして PDF を結合するには、os モジュールを使用します:

<code class="python">import os

for folder in os.listdir("path/to/directory"):
    pdfs = [f for f in os.listdir(f"path/to/directory/{folder}") if f.endswith(".pdf")]
    merger = PdfMerger()
    for pdf in pdfs:
        merger.append(f"path/to/directory/{folder}/{pdf}")
    merger.write(f"merged_{folder}.pdf")</code>

以上がPDF ファイルを Python と結合する方法: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。