PDFtkでPDFを分割しためも
PDFから特定のページを抜き出したりとかは、Mac だったらプレビューでやるんだけど Windows だと手軽にできそうな GUI アプリがなさそうなので PDFtk でやってみた。
PDFtk はこちらからダウンロード。
GUIツールもインストールされるようだが、こちらは無料ではほとんど何もできなそうなので、当然コマンドラインを使う。インストールした時点でPATHが通っているので、PowerShellなどで pdftk -h
とすると使い方がでてくる。その中で、
Remove page 13 from in1.pdf to create out1.pdf pdftk in.pdf cat 1-12 14-end output out1.pdf or: pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf
という箇所があり、だいたいこのようにすれば分割できる。今やりたいのは Kindle にメールで送るには大きすぎるPDFファイルを分割して送るということなので、例えば100ページごとにしたかったら、
pdftk test.pdf cat 1-100 output out.pdf
とすればできた。PDFが100ページない場合はエラーになるので、1-end
とする。
あと縦書きの PDF を Kindle で開くときにめくる方向が逆になるという問題に対して、逆順の PDF をつくるというハックがあるが、これは以下のようにしてできる。
pdftk test.pdf cat end-1 output reverse.pdf
コマンドが直感的なのが良い。自分がもし作る側だったら、無駄に combine, split, remove, reverse とかのコマンドを実装してしまいそうだけど、それらは上に書いたように全て cat でできる。なるべく少ないコマンドで色々なことをできるようにしている感じで、見習いたい。
PDFtk について調べてたら、CPDFというのもあるらしい。
CPDF:メッチャ多機能なPDFのコマンドライン・ツール | PDF
これも非商用なら無料で使える。そのうち試したい。
追記 (2018/03/18)
PDFをトリミングしたくなって、PDFtk ではできなそうだったので、早速 CPDF を使ってみた。
バイナリを落としてくれば使える。手持ちの自炊文庫本PDFでは、
.\cpdf.exe -crop "5mm 10mm 90mm 130mm" in.pdf -o out.pdf
とすると良い感じに余白がなくなった。