TCPDFに任意の日本語フォント(Noto Sans JP)を追加する方法
TCPDFはデフォルトで6つの日本語フォントが用意されているっぽいが、それら以外のフォントを使用したいというケースが出るかもしれない。日本語フォントのランキングを見ると「Noto Sans JP」が1位となっているので、まずはこちらのフォントを追加してみたい。以下に対応方法をメモ。
事前準備
TCPDF等
TCPDF、FPDIの設置やテンプレートPDFの用意に関しては過去記事を参考。
フォント
以下Google FontsのNoto Sans JPページから「Noto_Sans_JP.zip」をダウンロードする。
https://fonts.google.com/noto/specimen/Noto+Sans+JP
また、当該zipファイルを展開し「NotoSansJP-VariableFont_wght.ttf」ファイルをサーバ上の「/tcpdf/tools」ディレクトリにアップロードしておく。
対応方法
フォント登録ツールでファイルの変換
前提として「/tcpdf/tools」ディレクトリ内にある「tcpdf_addfont.php」がフォント登録用ツールとなる。
サーバにSSH接続し以下コマンドを実行する。
php /dir/path/tcpdf/tools/tcpdf_addfont.php -i NotoSansJP-VariableFont_wght.ttf -o .
そうすると「/tcpdf/tools」ディレクトリ内に以下3ファイルが生成される筈。
- notosansjpvariablefont_wght.z
- notosansjpvariablefont_wght.php
- notosansjpvariablefont_wght.ctg.z
上記3ファイルを「/tcpdf/fonts」ディレクトリに移動することでフォントの登録が完了する。
尚、エラーが発生し、ファイルが生成されない場合は以下辺りをチェックすること。
- ディレクトリに書き込み権限があるか
- 指定したフォント名に誤りが無いか
フォントの使用
以下で「Noto Sans JP」を使用できる。
$pdf->SetFont('notosansjpvariablefont_wght', '', 17);
その他
使用可能なフォントの形式について
TCPDFではTTF / OFT形式は使用可能でwoff / woff2はそのままだと使用不可とのこと。
woff / woff2の場合は以下のようなサービスで形式を変換する必要あり。
関連記事
-
-
HTML / CSSで作成したコンテンツをPDFファイルで出力する方法(TCPDF)
HTML / CSSで作成したコンテンツをPDFファイルで出力させたい。以前mp ...
-
-
PHPでパスワード付きのZIP / PDFファイルを作成する方法
PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何 ...
-
-
PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)
請求書や領収書のテンプレートがあり、そちらに対して動的に文字・数値を追記し出力さ ...
-
-
FPDIで「This PDF document probably uses~~」エラーの対処方法
FPIDであるPDFを読み込ませようとすると「This PDF document ...
-
-
TCPDF「Could not include font definition」エラーの対処方法
TCPDFでフォントを「arialunicid0」に指定したところ「TCPDF ...