PDFJモジュールを使って、Perlから直接PDFファイルを出力しよう
Perl から直接 PDFファイルが出力できたら、何かできるかなぁ?と、思っていろいろ調べてたんですが、PDFJ ってモジュールが良さげだったので、早速試してみました。
作った人が日本人ということもあり、詳細な日本語のドキュメントが用意されていているのも、ありがたいところです。
インストールは作者さんのページからZIPファイルをダウンロードして行います(CPANには登録されていないので)。古いバージョンもダウンロード可能になっていますが、ここは最新バージョンの0.90(2010年1月19日現在)を使わせてもらうことにします。
ZIPファイルを解凍した中の Makefile.PL を使ってインストールするのが簡単ですが、PDFJ.pm と PDFJディレクトリをモジュール検索パスの通っているディレクトリ(例、c:\perl\lib)にコピーするだけでもOKです。
次にPDFJモジュールが使用する TeX::Hyphenモジュールと Compress::Zlibモジュールを、CPANからインストールします(ActivePerlのPPMでもいけます)。これで準備は完了です。
ざっくりマニュアルを読んだ感じでは、画像の埋め込みや様々なレイアウトはもちろん、パスワードの設定や暗号化(Digest::MD5モジュールが必要)、各種文字コードへの対応と、おおよそ必要なことは全部できる感じです。
そんなわけで、テキストファイル(文字コード:EUC、改行コード:LF、ファイル名:sample.txt)を読み込んで、文庫ライクなレイアウト(42字17行)の縦書きなPDFファイルを作成するプログラムを作ってみました。
参照リンク
・中島 靖(作者さんのページ)
・PDFJ - 日本語PDF生成モジュール(マニュアルページ)
・PDFJの使い方 - Magical Diary, beta version
・第5回 ExcelファイルとPDFファイルの作成 - Perl入門:ITpro