【PHP】TCPDF-1 TCPDFでPDFを作成する

TCPDFを利用すると、動的なPDFが簡単に作成できます。

GithubからTCPDFライブラリをダウンロードします。
Github tecnickcom/TCPDF

zipをそのままWebサーバーにアップロードします。(git cloneでもOK)
サーバー上でzipを解凍します。

unzip TCPDF-main.zip

TCPDF-mainフォルダが作成されました。

同じディレクトリ内にsample1.phpを設置します。

図のように配置します。(zipファイルは削除してOK)

サンプル1(sample1.php)

require_once('./TCPDF-main/tcpdf.php'); // TCPDFを読み込みます。
$pdf = new TCPDF("P", "pt", "A4", true, "UTF-8", false);

$pdf->SetDefaultMonospacedFont('ipaexg');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->setFontSubsetting(false);  

// ページを追加
$pdf->AddPage();

// レイアウト初期設定
$pdf->SetTextColor(0,0,0);
$pdf->SetDrawColor (0, 0, 0);
$pdf->SetLineWidth(0.5);        // 0.8は線の太さ
$pdf->setCellPaddings(3,3,3,3);

// フォントサイズを設定
$pdf->SetFont('ipaexg', '', 15);
// テキスト描画
$pdf->MultiCell(0, 0, 'Hello!', '0', 'L', false, 1, '', '', true, 0);


// フォントサイズを設定
$pdf->SetFont('ipaexg', '', 9);
// テキスト描画
$pdf->MultiCell(0, 0, 'This is PDF.', '0', 'L', false, 1, '', '', true, 0);

// PDF を出力
$tmpFileName = uniqid() . '.pdf';
$pdf->Output($tmpFileName, 'I');

TCPDFでは基本的にMultiCellメソッドを利用して配置していくのがおすすめです。
MultiCellによるレイアウトはHTML/cssでのレイアウトに似ています。

PDFサンプル1 (実際にTCPDFで作成したsample1.phpのPDFが表示されます)

$pdf = new TCPDF(“P”, “pt”, “A4”, true, “UTF-8”, false);
コンストラクタの引数
1. 向き(orientation)
“P” 縦長 Portrait
“L” 横長 Landscape

2. 単位(unit)
“pt” ポイント
“mm” ミリメートル
“cm” センチメートル
“in” インチ

3. フォーマット(format)
“A3”
“A4”
“A5”
“Letter”
“Legal”

4. Unicode
ドキュメントテキストがUnicodeの場合にtrue(基本的にtrueでOK)

4. 文字コード
基本的に”UTF-8″でOK

5. 文字コード
ディスクキャッシュを使う場合はtrue
(実行時メモリを節約できます・当然メモリを使用した方がレンダリングが速いので基本的にはfalseで良いかと思います。)