PDFJ - PerlでPDFを生成する(1)

サーバでPDFを生成するプログラムを作ることになったので、PDFJを使ってみました。

事前準備

PDFJをダウンロードしてインストールします。
http://hp1.jonex.ne.jp/~nakajima.yasushi/archives/PDFJ-0.90.zip

それから、TeX::HyphenとCompress::Zlibをインストールします。

これで事前準備は終了。

サンプルコード

とりあえず最低限動作するところまで作ってみました。

#!/usr/bin/perl

use strict;
use CGI;
use PDFJ 'UTF8';

my $q = new CGI;

my $WIDTH   = 595;  # A4 width(210mm)
my $HEIGHT  = 842;  # A4 height(297mm)

# text and position
my $text = 'hogehoge';
my @pos = (20, $HEIGHT - 20);

my $pdf = PDFJ::Doc->new(1.3, $WIDTH, $HEIGHT);
my $page = $pdf->new_page();

# font, fontsize, color (default)
my $font = $pdf->new_font('GothicBBB-Medium', 'UniJIS-UCS2-HW-H', 'Times-Bold');
my $fontsize = 24;

my $textStyle = TStyle(
    font => $font,
    fontsize => $fontsize,
);

Text($text, $textStyle)->show($page, $pos[0], $pos[1], 'lt');

# output PDF
print $q->header(
    -type => 'application/pdf',
);
$pdf->print('-');

exit;

次はテキストの表示位置と色指定に挑戦します。

PDFJの仕様についてはこちらを参考にしました。
http://hp1.jonex.ne.jp/~nakajima.yasushi/PDFJ.jp.html


関連記事
PDFJ - PerlでPDFを生成する(1) - yasuakiのブログ
PDFJ - PerlでPDFを生成する(2) - yasuakiのブログ
PDFJ - PerlでPDFを生成する(3) - yasuakiのブログ