phpを使ってpdfを作成する方法 2019年1月版

下記の条件に当てはまる人向けの記事です。
つまり、簡易的なレンタルサーバでもPDF出力がしたいときってことですね。
『くっ、、、composerを使えって記事しかねぇよ!!』って方のお役に立てれば。

・composerが使えない環境
・日本語を表示したい
・フォントを埋め込みたい
・テンプレートのPDFを埋め込みたい

まず、ファイルのダウンロードから

TCPDF 6.2.25
FPDI 2.1.1
MigMixフォント

で、それぞれ解凍してサーバにアップしてください。
アップする場所はphpが動けばどこでも大丈夫です。

実際のコードはこちら
ファイルパスは適宜修正をー。

<?php
// 文字コードをUTF-8に
mb_internal_encoding("UTF-8");

// クラスをインポート
use setasign\Fpdi\TcpdfFpdi;

// TCPDFの読み込み
require_once('./TCPDF/tcpdf.php');
// FPDIの読み込み
require_once('./FPDI/src/autoload.php');

// フォントの読み込み
$font_path = './migmix-1p-20150712/migmix-1p-bold.ttf';

// テンプレートPDFの読み込み
$base_pdf = './base_pdf.pdf';

// ダウンロード時のファイル名の設定
$output_file_name = 'download.pdf';

// 出力するPDFの初期設定
$pdf = new TcpdfFpdi('L', 'mm', 'A4');
$pdf->setPrintHeader( false );    
$pdf->setPrintFooter( false );

// フォントを登録
$font = new TCPDF_FONTS();
$fontR = $font->addTTFfont($font_path);
$pdf->SetFont($fontR , '', 16,'',true);

// テンプレートPDFの読み込み
$pdf->setSourceFile($base_pdf);
$pdf->AddPage('P', 'A4');
$pdf->useTemplate($pdf->importPage(1));

// セルの描画
$pdf->Cell(0, 0, 'サンプルテキスト', 1, 1, 'L',0,'',0);

// テキストの挿入
$pdf->Text(10, 20, "サンプルテキスト");

// ファイルの表示方法:ダウンロードの場合はD
$pdf->Output($output_file_name, 'I');
SNSでシェア