要約:下のようにGhostscript、PDFを置き、バッチファイルを作って実行するだけ。
@echo off
:: example
set pdf=20150530_Slide.pdf
set page_start=10
set page_end=20
set file_pre=
set gs="Ghostscript/bin/gswin32c.exe"
set opt=-sDEVICE=png16m -r150 -dTextAlphaBits=4
setlocal enabledelayedexpansion
for /L %%i in (%page_start%, 1, %page_end%) do (
set pages=-dFirstPage=%%i -dLastPage=%%i
set png=-sOutputFile=%file_pre%%%i.png
%gs% -q -dBATCH -dNOPAUSE %opt% !pages! !png! %pdf%
echo !png!
)
pause
短い解説
Windows 7 32bitで動作確認しました。バッチファイルの:: example部分は自由に設定します。■ page_start、page_end… 文字通りPNGに書き出すページの先頭と終わり。■ file_pre…PNGのパスや接頭辞。省略すると、バッチと同じ場所に頁番号だけのファイル名で出力します。■ gs…Ghostscriptのgswin32c.exeの場所。ポータブル版を使うと自由に移動でき、おすすめ。■ opt中の -sDEVICE=png16m …RGBのPNGで出力。アルファチャンネルを付けるならpngalpha。■ 同じく -r …解像度指定。省略時は96DPI。■ 同じく -dTextAlphaBits=4 …文字のアンチエイリアス。詳細は下記を参照して下さい。
»futuremix : GhostScriptでテキストデータのアンチエイリアスを有効にする
そのほか
Ghostscriptは無償で使えるPDF作成・処理ツールです。GUIで使う方法は今回調べていません。Acrobat X Proでは特定ページのPNG書き出しができないので、その代わり。あとAcrobatがないPCで急にPNG化が必要な時の備えも兼ねて。PNG以外の形式にも書き出せます。
バージョンは、ポータブル版の9.16と、QGIS 2.6 Portable(関連記事4月6日)に同梱されていた9.07の両方で動作確認。ページ指定のオプションがある一方、それを直に出力ファイル名に使うオプションが今回見つからなかったので、バッチのFORループで対応しました。オプションの詳細は、下記ドキュメント(英語)にあります。-dUseTrimBoxを付けるとトリミングサイズで出力する、など。
»How to use Ghostscript»Details of Ghostscript output devices
↓ 出力サンプル。6月1日の記事のスライド(PostgreSQLアンカンファレンス)から、解像度127DPIで。元PDFはフォント埋め込み済みです。そうでない場合、文字が変になるかもしれません。