WEBスクレイピング(Selenium)で保存したPDFを結合したい時があり、コマンドでPDFを簡単に結合出来る方法がないか探していました。調べた結果、Linuxから実行出来るcpdfコマンドを使うと簡単に結合が出来ることが分かりましたので、備忘録として残しておきます。

SeleniumでPDFを保存する方法はこちら

cpdfをダウンロード

こちらのgithubのリポジトリからcpdfをダウンロードします。
https://github.com/coherentgraphics/cpdf-binaries

wget https://github.com/coherentgraphics/cpdf-binaries/raw/master/Linux-Intel-64bit/cpdf

cpdfがダウンロードされていることを確認します。

ls

すべてのユーザーにcpdfの実行権限を与えます。

chmod a+x cpdf

PATHが通っている場所にcpdfを移動します。

mv cpdf /usr/bin

結合するコマンドを実行します。(test1.pdfとtest2.pdfを結合)

cpdf test1.pdf test2.pdf -o out.pdf

以上でtest1.pdfとtest2.pdfが1枚のPDFとして、生成されていることが分かります。

結合以外の用途にも使う

cpdfコマンドは、PDFの結合以外にも使えるようですので、その一部を記載しておきます。

・一部のページを抜き出す

cpdf test1.pdf 1-5,8 -o out.pdf

・PDFに使われているフォントを調べる

cpdf -list-fonts test1.pdf

参考

cpdfがpdftk代替として高機能だけど自分の用途には使えなかった