2010年05月02日

PDF → pngの変換ツールを作ってもらった

前のエントリ「gsviewは玉砕」と、その前のエントリ「ghostscriptのGUIが欲しい」で、ghostscriptを利用した簡単なpdf→pngの変換ツールが見つからないと愚痴をこぼしていたら、かおりんさんが、一瞬で作ってくださった。いや、「一瞬」かどうかはわからない。たぶんそんな簡単なものではないのだろう。けれど、見つからなくてグダグダしていた素人の目からは、一瞬の早業に見える。いや、ほんと、ありがとうございました。
このプログラム、pythonで書かれた実行可能なスクリプトファイルで、アプリケーション名のpygsconvというのは、たぶんpythonで書かれたghostscript利用のconverterという意味だろう。
利用方法は至ってシンプルで、変換元のpdfファイルを選択し、変換先のファイル形式、解像度を指定、出力先のファイル名を指示どおりに指定すれば、複数ページのPDFがページごとに1枚ずつの画像ファイルに変換できる。ファイル形式は、pngのモノクロ形式と、pngのカラー形式、jpeg形式の3種類。解像度はデフォルトが150dpiで、任意に設定できる。実行ボタンを押すと、変換ファイルが得られる。
シンプルなだけに、上記のタスク一つしかできない。たぶんそのせいで、開発者であるかおりんさん自身が「正直、これの使い途がよく解ってないんですよ」とおっしゃっているのだと思うけれど、使い道は、単純に「pdfファイルの画像ファイルへの変換」。それも、1ページ単位なら他のツールで十分なので(GimpやInkscapeでも可能だし、場合によってはPDFビューワで画面に表示してコピー&ペーストでもOK)、複数ページあるPDFの画像化ということになる。
想定される用途としては、PDF文書として作成されたデータを直接HTMLで表示したい場合などが考えられる。通常は、PDF文書中のテキストをHTMLにして画像を配置すればOKなわけだが、テキストと画像のレイアウトが微妙で、そこを保持したままWebにアップしたい場合もある。そんなとき、PDF文書を文書内の画像とテキストを含めた形で画像化できれば、これをアップするだけでWebブラウザで閲覧ができる。
あるいは、PDF文書の配布先の環境の都合でフォントがうまく再現されない場合などにも、画像化は有効な方法になる。複数の画像ファイルを1つのPDF文書にまとめるアプリケーションは他にあるので、それを併用すれば(重くなって質は明らかに落ちるけれど)フォント環境に依存しないPDFを作成することもできる。ということで、現在私が抱えているちょっとしたタスクにとってはかなり重宝なアプリになる。たぶん、似たようなケースに遭遇する人も、数は多くはないにせよ、いらっしゃるのではないだろうか。
ということで、前置きが長くなったけれど、ダウンロードはこちら。http://dl.dropbox.com/u/1336728/pygsconv.tar.gz
なお、「ライセンスはGPLv3ということで、改変・再配布自由です」とのこと。実際、私もその後、何度か使っているうちにpng形式のグレースケールも設定できた方が嬉しいと思うようになったので、その一行をpygsconv.uiファイルの方に追加してやった。順調に動いている。
posted by 松本 at 18:28| Comment(2) | Ubuntuのアプリケーション | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
ご明察、というか、一晩ですね。延べで4時間程度でしようか。(笑)
変換種別は、もしかしたら追加があるかも、と思ってたんですが、ありましたか。
拡張可能な実装にしておいてよかった。
まあ、なんぼかでもお役に立てれば、作った甲斐もあるというもの。
また、なんかありましたら、ご相談ください。(笑)
Posted by かおりん at 2010年05月02日 22:28
かおりんさん、ほんとにありがとうございます。
以前わさびーさんに作っていただいたUDCにしても、今回のツールにしても、中身が見えますよね。まあ、他のアプリでもオープンソースである以上そうなんでしょうが、他のアプリを見ても、なにひとつわかりません。いえ、UDCもpygsconvも、ちんぷんかんぷんなところは同じなんですが、それでも自分がアイデア出しに関わっているだけに、「ああ、プログラマってのはこういう仕事をするんだ」というのがほんのちょっとだけ想像できて、興味深く感じました。「勉強になりました」ってほどにはわからないんですけれど。
こういう小さなツールって、いろいろあると素人には助かります。たぶん、作り捨てにされているようなものも多いんでしょうね。私から見れば、もったいない話です。
Posted by Matsumoto at 2010年05月02日 23:17
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。