hero_picture

fuelphpからPDFを生成

2014/11/21

こんにちは。

この業界に入ってまだ4ヶ月のWEBエンジニアのyuchiです。

以前開発でfuelphpからPDFを出力しないといけなかったので、今回その時調べた方法を書きたいと思います。

まずは準備からです。

①TCPDFをダウンロードする

②/fuel/app/vendor/の下にダウンロードしたファイルを解凍後、設置する

③/fuel/app/bootstrap.phpに下記を追加する

1Autoloader::add_classes(array(
2'TCPDF' => APPPATH.'vendor/tcpdf/tcpdf.php',
3));
4

これで準備OKです。

④あとはPGに組み込みます

1//PDF付加情報(一番初めの引数はPが縦、 Lが横)
2$pdf = new TCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
3$pdf->SetCreator('');
4$pdf->SetAuthor('');
5$pdf->SetTitle('');
6$pdf->SetSubject('');
7//ヘッダーフッター情報
8$pdf->setHeaderFont(Array('kozgopromedium', '', 14));
9$pdf->setFooterFont(Array('kozgopromedium', '', 9));
10$pdf->SetHeaderData('', '', リストの名前, $time . ' / ' . '発行者:' . Auth::get_screen_name());
11//余白マージン設定
12$pdf->SetMargins(5, 25, 5);
13$pdf->SetHeaderMargin(5);
14$pdf->SetFooterMargin(5);
15//自動ページ切り替え設定
16$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
17//カラム幅
18$w = array(30, 30, 30, 30);
19//塗りつぶし色
20$pdf->SetFillColor(255, 255, 255);
21$pdf->SetTextColor(20, 20, 20);
22//日本語フォント設定
23$pdf->SetFont('kozgopromedium', '', '9');
24//固定長フォント設定
25$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
26//ページ追加
27$pdf->AddPage();
28//値をセット
29$pdf->Cell
30//PDF を出力
31$pdf->Output("output.pdf", "I");
32//終了
33exit();
34

こんな感じでPDFを出力することができました。

一息ついたところで、今日は終わります。