linuxならshスクリプトにコマンド書けばいいだけなのだけど、windowsだとそのスクリプトが動かないので、苦肉の策。
pypdfライブラリをインストール
pip install pypdf
import pypdf
import subprocess
import os
#pdf 結合
merger = pypdf.PdfMerger()
#結合するファイル
merger.append('入力1.pdf')
merger.append('入力2.pdf')
merger.append('入力3.pdf')
merger.append('入力4.pdf')
#結合後のファイル
merger.write('出力all.pdf')
merger.close()
#ページ番号付与。別途「ページ番号.pdf」が必要。
input_file = "出力all.pdf"
output_file = "出力all2.pdf"
command = ["pdftk"] + [input_file] + ["multistamp", "ページ番号.pdf", "output"] + [output_file]
subprocess.run(command)
#しおり(ブックマーク)をつける。別途「bookmarks.txt」などが必要。
input_file2 = "出力all2.pdf"
output_file2 = "ALL.pdf"
command = ["pdftk"] + [input_file2] + ["update_info_utf8", "bookmarks.txt", "output"] + [output_file2]
subprocess.run(command)
#中間ファイルを削除
os.remove("出力all.pdf")
os.remove("出力all2.pdf")
入力1.pdf~入力4.pdf が入っているディレクトリに、make.py を入れて、
python make.py
または(linuxの場合)
python3 make.py
PDFが結合されて、ALL.pdf が生成されているはず。
bookmarks.txt の書き方は
PDFに「しおり」(bookmarks)をつける:pdfデータ編集 - adbird(広告鳥) 備忘録
を参照のこと。