[Perl]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

pdflibは動的にPDFファイルを作成してくれるためのライブラリです。
以下はバージョン4の時の使用法


[使用例]
-------------------------------------------------------------------------------------------
#!/usr/bin/perl


use pdflib_pl 4.0;


my $pdf = PDF_new();


#シリアルをセット
PDF_set_parameter($pdf, "serial", "シリアル番号");


#新規PDFファイルの作成
die "Couldn't create pdf file" if(PDF_open_file($pdf, "作成されるPDFのファイル名") == -1);


#テンプレートファイル読み込み
die "Couldn't open template file" if((my $template = PDF_open_pdi($pdf, "./invoice/template.pdf", "", "0") == -1));


#テンプレートを元に新しいページをOPEN
die "Couldn't open PDI" if((my $newpage = PDF_open_pdi_page($pdf, $template, 1, "") == -1));


#ページの幅と高さを取得
my $sheetwidth = PDF_get_pdi_value($pdf, "width", $template, $newpage, 0);
my $sheetheight = PDF_get_pdi_value($pdf, "height", $template, $newpage, 0);


#PDFページ生成
PDF_begin_page($pdf, $sheetwidth, $sheetheight);
PDF_place_pdi_page($pdf, $newpage, 0, 0, 1, 1);
PDF_close_pdi_page($pdf, $newpage);


#PDFにて使用するフォントを準備
my $font = PDF_findfont($pdf, "HeiseiMin-W3", "EUC-H", 0);


#フォントとフォントサイズをセット
PDF_setfont($pdf, $font, 9);


#行間を31ピクセルにセット
PDF_set_value($pdf, "leading", 31);


#文字幅を狭める
PDF_set_value($pdf, "charspacing", -1);


#テキストの印字開始位置を指定
PDF_set_text_pos($pdf, 350, 750);


#印字を開始
PDF_show($pdf, 'テキスト1');
PDF_continue_text($pdf, "テキスト2");


#ページを閉じる
PDF_end_page($pdf);
PDF_close($pdf);
-------------------------------------------------------------------------------------------

[その他のファンクション]
#長方形を生成する
PDF_rect($pdf, 開始のX座標, 開始のY座標, 幅, 高さ);
PDF_stroke($pdf);


#行を揃える(右揃えの場合)
PDF_show_boxed($pdf, "テキスト", 開始のX座標, 開始のY座標, 幅, 高さ, "right", "");


行を揃える際にはPDF_rect()で長方形を生成してからやるとわかりやすい。



関連記事
XML::RSS::Parser
perlの特殊変数一覧
Digest::SHA
DBIx::Class::Schema::Loader
Weak references are not implemented in the version of perl
Class::Accessor - accessorの自動作成
Module::Starter::PBPによるモジュールの作成
perlの特殊リテラル
XMLRPC::Lite
HTTP::Request::Common
標準入力の内容を標示しないようにする
EncodeモジュールでのMIME Encode
Template::Toolkit
@EXPORTと@EXPORT_OK
our - グローバル変数の宣言
h2xs - perlモジュールの雛形を作成
use base - クラスの継承
perlでのSSH接続
モジュールのバージョン確認方法
Encode::Guess - 文字コードの判別
Config::Simple - 外部設定ファイルの利用
CSVファイルの処理
select - ファイルハンドルの設定
defined - 変数が未定義値かどうかを調べる
@INCの追加
delete - ハッシュの値とキーを削除
リファレンスの階層構造
Text::Template - テンプレートファイルの読み込み
ref - リファレンスが参照している変数のタイプ
Use of uninitialized value in string eq
XML::XPath - 要素の検索
Wide character in print at ...
DBMファイルの読み込み
XML::Simple - XMLデータの読み込みと書き出し
Data::Dumper - データ構造を出力
HTML::LinkExtor - リンクの取り出し
until - 制御文
Net::Ping - ネットワークの疎通確認
正規表現 - 量指定子
CSRをdecodeするルーチン
IP::Country::Fast - IP割り当て国を調べる
mkdir - ディレクトリの作成
pod2manでperlモジュールのインストール失敗
fileparse - ファイルパスからファイル名などを取り出す
モジュールが見つからない場合のエラー処理
Archive::Zip - ZIPファイルの解凍
Getopt::Long - コマンドラインからのオプションと値の受け取り
数字のソート
LWP::UserAgent - Webデータの取得
sleep - プログラムの一時停止
stat - ファイル情報の取得
gethostbyaddr - IPアドレスからホスト名を取得
chdir - ディレクトリの移動
べき乗の計算
@ISAとは
Perlでの複数行コメント
ALRMシグナルでのタイムアウト処理
gethostbyname - ホスト名からIPアドレスを取得
Config.pm - CPANの設定
perlモジュールの作成方法
環境変数の取り出し
カレンダーを表示する
perlでシステムコマンドを使用するには
正規表現 - 数字以外にマッチさせる
無名ハッシュへのリファレンス
values - ハッシュから値を取り出す
keys - ハッシュからキーを取り出すには
each - ハッシュからキーと値を取り出す
use vars - use strict内でグローバル変数を使用するには
pdflib - PDFファイルを生成する
if文で{}の省略
変数の局所化に関するmyとlocalの違い
サブルーチンから複数の配列を返すには
数値3桁ごとにカンマで区切るには
サブルーチンを取り込むには
小数点切り捨て
小数点切り上げ
一定時間後の日付を調べるには
Date::Calc - 日付の計算
ファイルをアップロードさせる
undef - 変数の定義を無効にする
perlでの日付の比較
標準入力からの読み込み
郵便番号の入力形式チェック
Perlモジュールのインストール方法
広告