Pythonで複数のPDFファイルを結合する

こちらの記事を参考にしました。

Pythonでフォルダ内のPDFファイルを1つにまとめる

プログラムはほとんどそのままコピーで、保存するファイルの場所と名前だけ変更しています。

以下の内容を記述したPythonのプログラムファイル(*.pyのファイル)と同じフォルダに”pdf_files”という名前のフォルダがあり、pdf_filesフォルダの中に複数のPDFファイルが保存されている、という前提の記述です。

from pathlib import Path
import PyPDF2

# フォルダ内のPDFファイル一覧
pdf_dir = Path("./pdf_files")
pdf_files = sorted(pdf_dir.glob("*.pdf"))

# 1つのPDFファイルにまとめる
pdf_writer = PyPDF2.PdfFileWriter()
for pdf_file in pdf_files:
  pdf_reader = PyPDF2.PdfFileReader(str(pdf_file))
  for i in range(pdf_reader.getNumPages()):
    pdf_writer.addPage(pdf_reader.getPage(i))

# 保存ファイル名(先頭と末尾のファイル名で作成)
# merged_file = pdf_files[0].stem + "-" + pdf_files[-1].stem + ".pdf"
# 保存ファイル名("Combine.pdf")
merged_file = "./pdf_files/Combine.pdf"

# 保存
with open(merged_file, "wb") as f:
  pdf_writer.write(f)

PDFファイルの結合には「Nuance Power PDF Standard」というソフトを使用していましたが、Pythonのプログラムで行った方が手間も時間もかからなくて済みます。

(事前にPyPDF2のインストールが必要です。)

 

 

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