PDFJをインストールしてみる
日本語PDFを書き出せるライブラリを探していたら、PerlのPDFJモジュールが良さそう、ということがわかったので、早速試してみた。
割ときちんと出来ているライブラリのようですが、ここまで出来ていたら、CPANに登録して欲しいなー。インストールするユーザはそっちのほうがかなり楽になる。
CPANで依存ライブラリインストール
PDFJのページを見ると、CPANで提供されているTeX::Hyphenモジュールが必要と書かれているので、PDFJの前にインストールしておく。
コマンドラインで以下のように入力し、CPANの対話モードに入ってインストールした。
>perl -MCPAN -e shell cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support enabled cpan> install TeX::Hyphen ..(インストール状況が出力される) cpan> exit Lockfile removed.
これで完了。
PDFJインストール
PDFJのページから、適当なバージョンのアーカイブをダウンロードする。
そのファイルを展開し、その中にあるreadme.txtを参考にしてインストール。
しかし、何故かきちんとperlのパスに入ってくれないので、以下のファイルとディレクトリを手動で、perl/lib/ 以下にコピーした。
- PDFJ.pm
- XPDFJ.pm
- PDFJ/ (ディレクトリ以下全て)
適当だが、これでインストール完了。
PDFJテスト
このページにあるスクリプトを参考にして、以下のようなコードを書き、perlで実行してみた。
use PDFJ 'EUC'; use strict; my $pdfversion = 1.3; my $paperwidth = 595; my $paperheight = 842; my $doc = PDFJ::Doc->new($pdfversion, $paperwidth, $paperheight); my $font = $doc->new_font('Ryumin-Light', 'EUC-V'); my $page = $doc->new_page; my $text = Text('日本語のテスト', TStyle(font => $font, fontsize => 30)); my $paragraph = Paragraph($text, PStyle(size => 400, align => 'b', linefeed => 35)); my $block = Block('V', $paragraph, BStyle(align => 'b')); my $x = 50; my $y = $paperheight - 100; $block->show($page, $x, $y); $doc->print('pdfj-sample.pdf');
無事、pdfj-sample.pdf が作成され、日本語が縦書きで書かれていた。
デフォルト以外の日本語も、ttfファイルやttcファイルへのパスを指定するだけで埋め込んでくれることも確認(PDFJ:フォントオブジェクトの作成)。
こりゃ、すばらしー!!
環境
- Windows XP SP2
- Perl v5.8.8 built for MSWin32-x86-multi-thread