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テスト

このページにあるスクリプトを参考にして、以下のようなコードを書き、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:フォントオブジェクトの作成)。
こりゃ、すばらしー!!

環境