GAミント至上主義

Web Monomaniacal Developer.

Dockerで動かしたHeadless ChromeでPDFにすると日本語が化ける問題

yagish履歴書でも使っている下記のPDF変換サーバーだけど、日本語の下記のような文字がPDFにすると全部□に化けてしまっていました。

〜◯◎■□◆◇❏★☆

ユーザーが使いそうなのだけ上げたので他にもありそう。

github.com

もちろん日本語フォントはインストールされているので、なんでだろうと思っていましたが、日本語系パッケージとlocale設定が足りなかった模様。
ベースのnode:10-slimはDebianだったので localesとtask-japanese入れてみたら無事表示された。

Dockerfile

FROM node:10-slim
LABEL maintainer="yu_yamazaki@bizocean.co.jp"

# Install fonts
COPY fonts /usr/share/fonts

# Install utilities
RUN apt-get update --fix-missing && apt-get -y upgrade

# Japanese
RUN apt-get install -y locales task-japanese
RUN locale-gen ja_JP.UTF-8
RUN localedef -f UTF-8 -i ja_JP ja_JP
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:jp
ENV LC_ALL ja_JP.UTF-8
# 以下略

ENVはこの記事を参考にしました
DockerfileでDebianコンテナの日本語環境を整える