やりたいこと
タイトルのまんま.
フォルダの中に連番のPDFが入ってるのを,一つに結合する.
まあ,それだけならGUIのフリーソフトでもできるんだけど,たとえば
001.pdf
002.pdf
003.pdf
003s.pdf
004.pdf
005.pdf
006.pdf
007.pdf
007s.pdf
・・・
みたいな感じで,sがはいったりしてて,それを一個一個外すのが面倒くさいのと,
001.pdf
002.pdf
・・・
105.pdf
t001.pdf
t002.pdf
t003.pdf
・・・
って感じで,頭にtが入ったファイルを,以下みたいな感じに,間に入れていきたいのとで,pythonでやることにした.
001.pdf
t001.pdf
002.pdf
t002.pdf
003.pdf
t003.pdf <-003s.pdfは外す
004.pdf
t004.pdf
・・・
組んだソースコード
PyPDF2ってのがあるらしい.
また,ファイルの有無はosライブラリを使う.
ちなみに,作業ディレクトリの下にPDFファイルが入ったtestって名前のディレクトリがある,という構造.
ファイルは連番で140まで.
import PyPDF2
import os
merger = PyPDF2.PdfFileMerger()
Dir = "test"
for i in range(140):
Filename1 = "./"+Dir+"/%03d.pdf" % i
Filename2 = "./"+Dir+"/t%03d.pdf" % i
if os.path.isfile(Filename1) :
merger.append(Filename1)
if os.path.isfile(Filename2) :
merger.append(Filename2)
merger.write('%s.pdf' % Dir)
merger.close()
いたってシンプル.簡単にできました.
参考
PyPDF2について
https://note.nkmk.me/python-pypdf2-pdf-merge-insert-split/
ファイルの有無について
https://techacademy.jp/magazine/18994