電柱日報

日々の由無し事

PDF操作

TSV形式*1のログから送付書類を作るのが面倒になり、ここ2日ほどRubyで直接PDFファイルを作れんものかと格闘中。
欲しい機能としては

  1. Windows環境のRuby(mswin32、cygwinmingwは問わず)から利用できる
  2. 日本語のテキストを記述できる
  3. TrueTypeフォントを埋め込める
  4. 図形を描画できる

と言った辺り。
Windows環境での利用を考えると、外部の共有ライブラリを利用しないPureRubyが望ましいので、とりあえずpdf-writerを拾ってきて、日本語フォントパッチを当てたところ、割とアッサリと日本語のPDFファイルが作成できました。
円や角丸四画などの図形オブジェクトも利用できて結構すんなり進むかと思ったのですが、TrueTypeフォントの埋め込みに四苦八苦。
pdf-writerでフォント埋め込みを可能にするパッチもみつけてきたんですが、両方当てるとエラーになるんですよネー。
日本語フォントパッチ当てた後だと自動でパッチ当てができないので、diffファイルを元に手作業でソースを修正してるのが良くないんでしょうかねぇ。
見たところ、上記の日本語フォントパッチはフォント指定文字列を結構強引に引っ掛けて分岐させてるので、その辺の影響が出てるのかもしれません。
もうしばらく足掻いてみて、だめっぽかったらCygwin環境で必要なライブラリごとコンパイルする方向も模索してみようと思ってます。

*1:Tab Separated Value: タブ区切りデータ形式