ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>
ARCHIVES
CATEGORIES
<< callLater | main | PDFJを使用したPDF作成2 >>
PDFJを使用したPDF作成1
Perlで「PDFJ」という、日本語PDF を生成するモジュールを使ってみました。

まずは、「テストです」という文字だけのPDFを作成してみました。
---------------------------------------------------------------------
# PDFJの使用を定義
# 引数は日本語文字コード
use PDFJ 'SJIS';

#PDFのバージョン 使用するAcrobatバージョンに合わせて指定する
#Acrobatバージョン4以上で使うためには、1.3を指定すればよい
#ただし、日本語TrueTypeフォントを使うときは1.3以上が必要。
#OpenTypeフォントを使う時は1.6以上が必要
# PDFバージョン1.2 … Acrobatバージョン3
# PDFバージョン1.3 … Acrobatバージョン4
# PDFバージョン1.4 … Acrobatバージョン5
# PDFバージョン1.5 … Acrobatバージョン6
# PDFバージョン1.6 … Acrobatバージョン7
my $pdfversion = 1.3;

#ページの幅、高さ
#単位はポイント(1/72インチ)である。(1インチは25.4mm。)
#A4サイズを指定
my $paperwidth = 595;  #210mm(A4横幅) ÷ 25.4mm × 72インチ
my $paperheight = 842; #297mm(A4高さ) ÷ 25.4mm × 72インチ

#文書オブジェクトの作成
#引数は、バージョン、ページの幅、ページの高さ
my $doc = PDFJ::Doc->new($pdfversion, $paperwidth, $paperheight);

#フォントの作成
#引数は、ベースフォント名、フォントのエンコーディング
#今回は、ゴシック、「Microsoft CP932 JIS X 0208 NEC,IBM拡張」でのエンコーディング
#縦書きにする場合は、「90ms-RKSJ-V」にする
my $gothic = $doc->new_font('GothicBBB-Medium', '90ms-RKSJ-H');

#ページオブジェクトの作成
my $page = $doc->new_page;

#テキストオブジェクトの生成
#TStyleでフォントと、フォントサイズを指定します
my $textTitle = Text('テストです', TStyle(font => $gothic, fontsize => 18));

#文字の表示
#引数は、出力するページオブジェクト、X座標、Y座標
#座標は原点(0,0)がページの左下なので、Y座標の指定は、要注意
#以下の場合は、ページの上から80ポイントの位置に出力する
$textTitle->show($page, 0, $paperheight  - 80);

#PDFファイルの作成
$doc->print('test.pdf');
---------------------------------------------------------------------

今回は、単純に文字をそのまま表示するだけのプログラムですが、
段落やブロックを使って表示したり、直線や円などの図形も表示できるようなので、
いろいろと試してみたいと思います。

| perl | 20:39 | comments(0) | - |
コメント
コメントする