PHP を使って PDF を作成してみようと思い調べてみました。tcpdf ライブラリが簡単だったので紹介してみます。
■ tcpdf のサイト
https://tcpdf.org/
https://github.com/tecnickcom/tcpdf
tcpdf は、HTML を与えると、それをPDFに変換してくれます。すべてのHTMLに対応している訳ではないようなので、どのタグが使えるかは、試してみる必要はありそうです。
■ composer を利用して tcpdf ライブラリをインストール
composer require tecnickcom/tcpdf
準備完了!
■ コードを記述します。
まずは、tcpdf のコンストラクタを new します。いろいろ引数が指定できるようです。詳細はこちらに記載があります。
https://tcpdf.org/docs/srcdoc/TCPDF/classes-TCPDF/#method___construct
コンストラクタでは、用紙の向き、単位(cm/mm など)、用紙サイズ(A4 など)が指定できます。
以下、PDF を出力するコードを書いてみます。
非常にシンプルに書けました。実行すると、「hello world!」と書かれたPDFができました。
HTMLを文字列で指定できれば、PDF に変換できるので、例えば、Twig などのテンプレートエンジンを利用してHTMLを取得して投げるなどすると、請求書とか作るのはラクチンかもしれません。
$fileName = rtrim(getcwd(), '\\/').DIRECTORY_SEPARATOR.'sample.pdf';
この部分、ややこしく見えるのですが、tcpdf が PDF の出力先のファイル名をフルパスで書くことを要求するのと、Windows/Linux でファイルパスの指定方法が異なることを吸収するため、こんな書き方にしました。
他にもいろいろできそうなので、公式サイトのサンプルをご覧いただいて、色々試してみてはいかがでしょうか?
https://tcpdf.org/examples/