[Python] 360 PDFファイルを結合

[Mac M2 Pro 12CPU, Ventura 13.6, Python 3.10.4]

PDFを色々加工するPythonスクリプトがたまってきました。

C++に移植してGUIアプリにまとめようかと考えています。

最近ファイル名やファイルパスを加工するのにosモジュールをよく使います。これまではsplitメソッドなどを使った文字列加工を多用していましたが、osモジュールのメソッドの方がさすがに使いやすいですね。

import os
from PyPDF2 import PdfMerger

# PDFファイルのディレクトリ
pdf_folder = '/images/'

# PDFファイルのリストを作成
pdf_files = [os.path.join(pdf_folder, f) for f in os.listdir(pdf_folder) if f.endswith('.pdf')]
pdf_files.sort()

# 先頭PDFファイル名を元に結合ファイル名を作成
pdf_name = os.path.splitext(pdf_files[0])[0] + "_join" + os.path.splitext(pdf_files[0])[1]
pdf_path = os.path.join(pdf_folder, pdf_name)

# PDFファイルを結合
merger = PdfMerger()
for pdf_file in pdf_files:
    merger.append(pdf_file)
merger.write(pdf_name)
merger.close()