BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

印刷機能

ここでも何度か取り上げているけど、Webアプリでの帳票印刷ソリューションというのは、Webアプリの永遠の課題的テーマです。最終的にPDFを出せばいい、という点ではすでに答えが出ていると思われるんだけど、それを実現するために費用面や扱いやすさなどすべての面で決定的といえるようなものが見当たらない。

JavaだったらJasperReportsがよさげだなってのはかなり昔に書いたけど、Rubyから扱いやすいものとなると選択肢がない・・・・、と思って調べてみると実は意外とあるみたい。だけど、機能面などで十分そうなのは無い感じだなあ。日本語の扱いでも面倒が多そう。

個人的には、やっぱり今も昔もPDF Form+FDF最強。サードの帳票印刷ソリューションを使わなくても自力で簡単にPDFが扱える。ただ弱点もあって、ページを動的に増やせないこと。つまり領収書を何枚も同時に出したいとか、明細が複数枚にわたるケースとか対応できない。いや実はAdobe Acrobat製品版を使うとできるんだけど、無償版のReaderだとどうもうまくいかないんだよね。Adobe Reader 8.0で試してみたけど、いまだに同じ結果でした。まあ実際は、かなりのケースで1ページで十分なので、これでも相当に有用な方法だという認識をしています。

今はFDFじゃなくて、XMLベースの「XDP」というのも使えそうな感じだけど、こっちではどうかなあ。情報が少なくてよく分からない。。

今悩んでいるのはDivestarの印刷機能です。RubyからWindowsのプリンタを直接扱うのは面倒くさそうなのでPDFを出すようにしたいんだけど・・・。

※2/1追記)LiveCycle DisignerとXDPを使って、イイ感じにできそう。