こちらの記事を参考にしました。
プログラムはほとんどそのままコピーで、保存するファイルの場所と名前だけ変更しています。
以下の内容を記述した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のインストールが必要です。)