複数の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]
のインデックスを変えることで、任意のページを抽出し結合することができます。
コメント