筆者はMac使いなので、従来、PDFファイルの結合はAutomatorを使っていたのですが、macOS Monterey 12.3でPythonを標準搭載しなくなった煽りを受けて、Automatorの「PDFページを結合」アクションが動作しなくなりました。
仕方ないので、結合するスクリプトを書きます。
PyPDF2のインストール
$pip install PyPDF2
(Python3がインストール済みの前提です。)
ページの結合
今回は、tojoin-01.pdf
〜tojoin-09.pdf
という連番ファイル名、かつ、各PDFには1ページしか入ってない想定です。
(スキャン時にまちがって1枚1ファイルを生成しちゃった時の想定。)
join.py
from PyPDF2 import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
# tojoin-01.pdf〜tojoin-09.pdfから先頭ページを抜粋してoutputに入れる
for num in range(1,10):
output.addPage(PdfFileReader(open("tojoin-0"+str(num)+".pdf", "rb")).getPage(0))
# PDFファイルをjoined.pdfというファイル名で書き出す。
with open("joined2.pdf", "wb") as outputStream:
output.write(outputStream)
とりあえずこれで、inputファイル名固定でのアレができました。
もうちょっとしっかり作るならパスを標準入力から受け取ったり各PDFの最終ページまで足してから次のページに進めたりですかね。
Enjoy!