【Python】複数のPDFから特定ページを抽出し、1つのPDFに結合するには?

Python

複数のPDFから特定のページ(最初のページなど)を抽出し、1つのPDFに結合するPythonスクリプトを紹介します。

スポンサーリンク

サンプルコード

import glob
from PyPDF2 import PdfFileReader, PdfFileWriter

# PdfFileWriterを作成
writer = PdfFileWriter()

# 元のPDFファイルのリストを取得する
files = glob.glob("*.pdf")

# 各ファイルから1ページ目を抽出
for i in range(len(files)):
    # 元のファイルを開く
    reader = PdfFileReader(files[i])
    # 1ページ目を抽出する
    page = reader.pages[0]
    # PdfFileWriterに抽出したページを追加する
    writer.addPage(page)

# 1ページ目を結合したPDFを書き出す
with open("combine1page.pdf", "wb") as f:
    writer.write(f)

ライブラリにPyPDF2を使用していますので、あらかじめpipでインストールしておいてください。

PyPDF2
A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files
スポンサーリンク

解説

PdfFileReaderで各PDFファイルから1ページ目を抽出し、共通のPdfFileWriterに書き込むことにより実現しています。

reader.pages[0]のインデックスを変えることで、任意のページを抽出し結合することができます。

コメント

タイトルとURLをコピーしました