ど素人から毛を生やす。<延>

wkhtmltopdfで明朝体フォントを指定したら、全く違うフォントで出力された話。

Web > PHP 2018年5月10日(最終更新:6月前)

どもです。

ウェブサイト上でPDFファイルを作成する手段はいくつかありますが、今回は「wkhtmltopdf」について。

こいつが既に導入されているサイトで、新たなPDF生成システムを作ることに。
サンプルが明朝体だったので、いつものノリで明朝のfont-familyを指定

HTML上での正常な反映を確認。さあPDF出力、ポン。

待て待ておい待て待て待て!!!

明朝体どころか、やたらファンシーでポップなフォント(vl-gothic-regular)にされてんじゃねーか!?

サーバーに游明朝が入ってなかったから、にしてはフォント無指定やserifのみのときと異なっているのが妙だ。
ちなみにserifのみのときは、こう。

で、この現象に対しての真相は、やはり「サーバーに游明朝が入ってなかったから」が正解。

本来font-familyは、先頭から見て所持していないフォントはスキップする仕様になっているが、
「wkhtmltopdf」では問答無用で先頭のフォントを適用させてしまうようだ。

このとき、先頭のフォントは存在しない場合、サーバー側の何某かの設定により、想定外のフォントが指定されてしまう、と。
その辺を見る権限がないので最後のところがハッキリせず、今ひとつ、もやもやする感じが残るが…。

今回はfont-family:"MS P明朝";とかいう一周回ってむしろ前衛的なfont-familyを指定することで解決。

この記事は役に立ちましたか?
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)
  • _(:3」∠)_ 面白かった (1)