pdf2png に不透明機能を追加。

この実装では、PDFの透明部分はそのままPNGの透明部分に変換される。もちろんこの方が別の書類に透過付きで張り込むとか色々な用途に使えるので、歓迎すべき仕様である。

だけど、多くのケースではバックがベタ白背景で書き出してくれる方が使いやすい。

そこで、 pdf2png をデフォルトで白背景で書き出しを行い、 --transparent オプションを付けると透過付きPNGを書き出すように書き換えてみた。

pdf2png [options] file
        --dpi dpi       Specifies the resolution at which to export the pages
        --page page     Single page to export
        --transparent   Do not fill background white color, keep transparency from PDF.
        --help  Print this help message

変更後のソース (pdf2png.m) と実行バイナリ (pdf2png - Intel/Leopard用) のアーカイブをダウンロードページに載せているので、どうぞ。 Leopard 以外の方は、ソースから

gcc --std=c99 -Wall -g -o pdf2png pdf2png.m -framework Cocoa

コンパイルできる。

pdf2png - PDFをpngに変換するコマンド

Evan Jonesさんという方が
Converting PDFs to Images on Mac OS X
というページで、 pdf2png という素敵なコマンドを公開されている。

$ pdf2png --help
pdf2png [options] file
        --dpi dpi       Specifies the resolution at which to export the pages
        --page page     Single page to export
        --help  Print this help message

これはCocoaの描画機能を使って、任意の解像度でPDFをPNG画像に変換してくれる。例えば、

pdf2png --dpi 300 a.pdf

で、 300dpi でレンダリングされた a.png が生成される。ページが複数ある場合には a-p1.png , a-p2.png と生成される。