0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PythonでPDFのページを結合する

Posted at

筆者はMac使いなので、従来、PDFファイルの結合はAutomatorを使っていたのですが、macOS Monterey 12.3でPythonを標準搭載しなくなった煽りを受けて、Automatorの「PDFページを結合」アクションが動作しなくなりました。
仕方ないので、結合するスクリプトを書きます。

PyPDF2のインストール

$pip install PyPDF2

(Python3がインストール済みの前提です。)

ページの結合

今回は、tojoin-01.pdftojoin-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!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?