TCPDFにフォントを追加する方法
PHPの世界において、帳票印刷といえば、TCPDFというものはどこかで聞いたことがありますでしょう。TCPDFはPDF(帳票)を生成するための無料PHPライブラリです。オープンソースで数えきれないほどのWEBアプリケーションはTCPDFを使って、様々なサービスを提供しています。ところが、日本において、MS明朝などを使って、帳票を出力する場合が多いですが、TCPDFはMS明朝を事前にインストールしていないため、異なるフォントで出力してしまったケースがあるかと思います。
今回はMS明朝を例として、TCPDFにフォントを追加する方法を紹介したいと思います。
Contents
前提条件
・Windows環境
・PHP環境
・TCPDF(6.2.26)ライブラリ用意済み
ステップ
TCPDFにフォントを追加する方法は、簡単で、下記の3つのステップで完成できると思います。また、TTFフォントファイルが既に手元にある場合、ステップ3から対応すればと思います。
1.フォントファイルを入手する
2.フォントファイルをTTF形式に変換する
3.TCPDFにフォントを追加する
3.1 ファイル名を変更する
3.2 コマンドラインでツールを実行する
1.フォントファイルを入手する
今回はMS明朝を使うことで、筆者の場合、MS明朝フォントファイルはWindows 10から入手しました。
コントロールパネルを開いて、フォント項目をクリックすると、フォント画面が表示されます。
フォント画面にて、MS明朝標準ファイルをコピー(ctrl+c)して、好きな場所に、貼り付け(ctrl+v)することで、必要なフォントファイルを入手しました。
2.フォントファイルをTTF形式に変換する
TCPDFはTTFフォントファイルをサポートしますので、Windows 10から入手したフォントファイルの形式がTTCであるため、変換ツールを使って、TTF形式に変換する必要があります。
下記のURLはTTCフォントファイルをアップロードするだけで、自動的にTTFフォントファイルに変換してくれるオンライン変換ツールを提供していますので、是非ご活用ください。
変換してくれたTFFフォントファイル(ここは、MS-Mincho-01.ttf)を好きな場所にダウンロードして、次のステップを進んでください。
3.TCPDFにフォントを追加する
ステップ1,2を準備できたら、いよいよ本題、TCPDFにフォントを追加する方法を紹介したいと思います。このステップは、更に2つのステップを分けて、説明します。
3.1 ファイル名を変更する
3.2 コマンドラインでツールを実行する
3.1 ファイル名を変更する
TCPDFは、TTFフォントファイル名をデフォルトとして、そのまま、フォント名を使うため、ステップ2でダウンロードしたTFFフォントファイル(MS-Mincho-01.ttf)名を「msmincho.ttf」に変更します。
※注意:次のステップに紹介するフォント追加ツールには、フォント名称指定オプションがありますが、思った通りでうまく変換できない場合があって、あえて、フォントファイル名を事前に変更する方法を紹介します。
3.2 コマンドラインでツールを実行する
TCPDFには、フォント追加ツールがあります。場所は、TCPDFライブラリフォルダの「tools\tcpdf_addfont.php」です。tcpdf_addfontを実行することで、指定したフォントファイルをTCPDFが識別できる形式ファイルに変換できます。
ここは、「msmincho.ttf」ファイルをtoolsフォルダの下に落として、toolsフォルダからコマンドを実行することとして説明します。
Windowsのコマンドプロンプトを起動(ウィンドウズキー+r ⇒ cmd)して、下記のコマンドを叩いたら、「 Process successfully completed!」という処理成功メッセージが表示されます。
1 2 3 4 5 |
php tcpdf_addfont.php -i msmincho.ttf |
上記のコマンドを実行成功すると、「fonts」フォルダの下に、msmincho.xxxという三つのファイルが生成されます。
ここまでは、TCPDFにフォントを追加する方法を紹介しました。プログラム上に、SetFontメソッドの第一パラメータに、「msmincho」を設定すれば、MS明朝を使えるはずと思います。
プログラムの例:
1 2 3 4 5 |
$this->pdf->SetFont('msmincho', '', 12); |
まとめ
いかがでしょうか。TCPDFにフォントを追加する方法は簡単ですよね。MS明朝だけではなく、ほかのフォントもこのTCPDFにフォントを追加する方法でインストールして、利用できると思います。また、もう一点注意してほしいのは、プリンター側がサポートしない限りに、いくらPDF帳票ツールをサポートしても、帳票が異なるフォントで印字された場合がありますので、ご注意ください。(その場合、各プリンターメーカーの技術サポートサイトにお問い合わせください。)
それでは、また!!
ディスカッション
コメント一覧
まだ、コメントがありません