アフィリエイト広告を利用しています

2018年04月03日

テンプレートを使用してPDFファイルを作成する

A4サイズのPDFファイルにデータを埋め込む。
MFPDFで表の罫線とデータの位置調整に苦労しながら
1日がかりで仕上げた。

もっと早く簡単にできないかと考え、Webを検索したら
テンプレートファイルを使用するという方法を見つけた。


データを埋め込む表を先に作成しておき、

FPDIでそのファイルを読み込んで、

そこにTCPDFでデータを埋め込むという方法。


表をWordなり、Excelなりでさっさと作れるので

作表にかかる時間はかなり短縮できそう。

だが、データの埋め込み位置の指定はどうだろうか。

TCPDFのCELL機能では罫線とデータの位置指定を同時に行える。

テンプレートを使うと、それらが分離してしまうので、

データの埋め込み位置の指定は

注意深く行う必要があり、時間がかかりそう。



作成する表の特性に応じて、
テンプレートを使うか使わないかを判断するべきだと思う。

埋め込むデータが少なければ、テンプレートを使った方が良さそう。



// ライブラリを読み込み
require_once './tcpdf/tcpdf.php';
require_once './fpdi/fpdi.php';


// ページ設定
$pdf->AddPage('P');
$pdf->SetDisplayMode(’real’,'default');
$pdf->SetAutoPageBreak(true,10);


// テンプレートを読み込み
$pdf->setSourceFile('./template.pdf');

// 読み込んだPDFの1ページ目のインデックスを取得
$Index = $pdf->importPage(1);

// 読み込んだPDFの1ページ目をテンプレートとして使用
$pdf->useTemplate($Index, null, null, null, null, true);

// 適当な文字を埋め込み
$pdf->SetXY(90, 100);
$pdf->Write(5,”テストデータ”);


// PDFを出力する
$pdf->Output('output.pdf','I');



注意)
FPDI-1.5.3を使用した。
FPDI-2.0.2はFpdi.phpとファイル名が変わっており、うまくいかなかった。

手放しで喜ぶことはできないが、

テンプレートファイルを読み込み、

その上にデータを埋め込んで出力できたときはうれしかった。






posted by db-engineer at 00:00 | Comment(0) | 小技

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド