Craft CMS のプラグインを使ってテンプレートでHTMLの内容をPDFにしてみたのを先日書いた。

ただ、この時に日本語が入っていると文字化けしてしまい色々調べてみた。

以下のエントリにかかれてある方法を参考にさせてもらって対応した。

Laravel環境で日本語のPDFを作成する方法(Laravel-dompdf) | アールエフェクト
https://reffect.co.jp/laravel/...

日本語フォントのダウンロード

以下のサイトから「4書体パック」をダウンロードする。

IPAフォントのダウンロード
https://ipafont.ipa.go.jp/old/...

ダウンロードしたフォントを @webroot/font/ に設置する。

プラグインの設定を追加する

config/super-pdf.php を用意して fontDir , tempDir の設定、defaultFont を指定しておく。

<?php
return [
	'fontDir' => '/home/hogehoge/public_html/example.com/font/',
	'tempDir' => '/home/hogehoge/public_html/example.com/tmp/',
	'defaultFont' => 'ipag'
];

これで日本語も文字化けなく表示された。

他のフォントでもできるか試してみたけど、うまくいかなかったので一旦はこの方法で。