PHPでPDFを作成する定番ライブラリ【TCPDF】を使ってみた

のえる のえる 2019.07.02

Webシステムの開発をしていると「PDFの出力をしたい」というお話をよく聞きます。

 

今回はPHPでPDFを出力するためのライブラリ「TCPDF」を試していこうと思います。

環境

今回の実装環境はこちらです。

 

CentOS 7
PHP Version 7.1.11

 

実装方法

では早速実装していきましょう。

 

まずは下記URLからライブラリをダウンロードし、ディレクトリに配置します。

 

TCPDF – GitHub

 

ライブラリの配置が終わったら、index.phpを作成してライブラリを読み込みましょう。

 

 

ここからPDFの各種設定やデータ出力を行っていきます。

印刷ヘッダー・フッターを制御する

デフォルトでは印刷時のヘッダーやフッターを出力する設定になっており、PDFの上部・下部に罫線が引かれます。

 

これを制御するには下記のようにします。

ページの余白を設定する

出力するPDFの余白は下記のように設定します。

PDFのプロパティを設定

出力するPDFファイルの各プロパティを設定できます。

自動改ページを設定

自動改ページをONにすると、設定した引数の位置に到達した時点で次のページへ移動するようになります。

 

自動改ページを設定するには下記のようにします。

日本語を出力できるようにする

海外製のライブラリにありがちですが、そのままでは日本語が使えません。

 

日本語はフォントを設定することで表示することができます。

画面に出力する

PDFをダウンロードさせるのではなく、画面に表示させるには下記のようにします。

※IEの場合、ダウンロード時の日本語ファイル名が文字化けします。

PDFファイルをダウンロードさせる

直接ユーザーにPDFファイルをダウンロードさせるには、下記のようにします。

なお、こちらはIEでも日本語ファイル名が文字化けしません。

HTMLでレイアウトを作る

TCPDFにはHTMLでレイアウトを作成することができます。

 

 

Apple Google
Microsoft Facebook

EOM; // HTMLをPDFに書き込む $tcpdf->writeHTML($html, true, true, true, true);

なお、HTMLタグが間違っていると綺麗にレイアウト出力できないので注意が必要です。

さいごに

結構主要な機能をご紹介しましたが、これらも機能の一部です。

 

細かい設定についてはコチラのサイトでご紹介されていますので、
気になる方は参照してみてください。

 

ではでは。

スポンサーリンク

POPULAR

のえる

書いた人

のえる

Full-stack Developer / Guitarist