百見は、一聞にしかず

見てもわからない事は、とりあえず聞いてみよう。

PHPでPDFを動的に作成する

前回はCentOS7のインストール準備を書きましたが、まだインストールしていないので、、、今回は別の記事を書きます。

ブラウザ上でPDFを動的に作成し表示したい場合があると思います。
データベースの内容を基に帳票をPDFとして作成したい場合などです。

既存のPDFファイルをテンプレートとして読み込んで帳票を作成したい。
しかもPHPで、という事がありまして、色々調べているとTCPDFとFPDIを使う方法がありましたのでざっくりまとめてみます。

①ライブラリをダウンロード

・TCPDF(以下のページの左側にある「GitHub」をクリックし、「Clone or Download」の「Download ZIP」をクリックします)

https://tcpdf.org/

・FPDI(以下のページのFPDIの「Downloads」をクリックします)

https://www.setasign.com/products/fpdi/downloads/

②ダウンロードしたフォルダをサーバーへコピー

・解凍したフォルダをそれぞれTCPDFとFPDIに変更し、コピーします。

今回自分がコピーした場所はwordpressの自分が作成したプラグイン上にコピーしたので以下のフォルダ構成です。(libとかフォルダを作ってその中にコピーしてもいいかもですね)

/プラグイン/tcpdf

/プラグイン/fpdi

③コーディング内容

*1

もっと良い方法があるかもしれませんね。

*1:require_once(‘./tcpdf/tcpdf.php’);
require_once(‘./fpdi/fpdi.php’);

$pdf = new FPDI();

$pdf->SetMargins(0,0,0);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->addPage(‘L’, ‘A4’, true);

$pdf->setSourceFile(“./files/templ01.pdf”);
$importPage = $pdf->importPage(1);
$pdf->useTemplate($importPage, 0, 0);

$pdf->SetFont(“kozgopromedium”, “”, 20);
$pdf->SetTextColor(255, 255, 255);
$pdf->setCellMargins(12, 3, 0, 0);
$pdf->Cell(20, 20, ‘テスト’, 0, 0, ‘L’, 0, ”, 0);

ob_end_clean();
$pdf->Output(“output.pdf”, “I”);