PDFを分割するオープンソースのプログラムのpdftkですが、現在はbrewのformulaに入っておらずMacで使うのは結構大変そうでした。そこでDockerを使ってやってみたところ簡単に使用できたのでそのメモです。
なるべくイメージサイズが小さいものを使いたいのでalpineベースで使います。
alpineのパッケージを探してみると3.8であればパッケージがあるのでこちらをベースに作ります。
バージョンを表示
とりあえず動くか、まずはpdftkのバージョンを表示させてみます(後ほど使うため/pdf
ディレクトリも作成しています)
Dockerfile
FROM alpine:3.8
RUN apk update && \
apk add pdftk && \
mkdir /pdf
WORKDIR /
CMD ["pdftk", "--version"]
ビルド
docker build . -t pdftk
実行
バージョンが表示されます
$ docker run pdftk
pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PDFを分割
次はPDFを分割してみます。
$ mkdir pdf
pdfというディレクトリを作成し、その中に変換したいPDF(a.pdf)を置いて
$ docker run -v $PWD/pdf:/pdf pdftk pdftk /pdf/a.pdf cat 1 output /pdf/cover.pdf
とすると、1ページ目のみ取り出されたcover.pdfというファイルができていると思います。
PDFを結合
結合もやってみます。
$ docker run -v $PWD/pdf:/pdf pdftk pdftk /pdf/a.pdf /pdf/b.pdf cat output /pdf/merged.pdf
これを実行すると結合されたmerged.pdfというファイルができています。