ImageMagickでPDFをPNG等画像に変換する際のメモ.単純には以下で良いのだけど,
% convert input.pdf output.png
この場合 output-0.png, output-1.png, …, output-10.png, output-11.png, … というファイルが生成される.
% convert -scene 1 input.pdf output-%03d.png
とすると output-001.png, output-002.png, … というファイルが生成される.なお,%03d-export.png
などとすることも可能.
% convert "input.pdf[11-12]" output-%03d.png
とすると output-011.png, output-012.png が生成される(指定するページ番号は 0 始まり).加えて,
% convert -scene 1 "input.pdf[11-12]" output-%03d.png
とすると,一つ前の例と同じページが output-001.png, output-002.png として生成される.
あと,(レンダリングの)解像度を指定するには -density 100
のように指定する(100 dpi, default は 72 dpi).
なぜ PDF を PNG にしたいかというと,超大なPDFの更新版を頂いた際などに,差分を取ったりするのに使えるから.その際ページ番号の桁が揃っていないと,差分ファイルを見る際に(ファイル名ソートで)面倒なことになる.例えば以下.
% convert -scene 1 input1.pdf %03d-input1.png
% convert -scene 1 input2.pdf %03d-input2.png
% for i in ???-input1.png ; do echo $(compare -metric PSNR $i ${i%-input1.png}-input2.png ${i%-input1.png}-diff.png) ; done
compare
はなぜか改行を返してくれないので echo
している.