Site Overlay

Dockerでwkhtmltopdf

ども、なべっちです!

珍しく仕事ネタ。Docker、laravel、laravel-snappyでpdfの出力を行う際に、Ubuntuの仮想環境にwkhtmltopdfをインストールする必要があったのでメモ。

未インストール時に以下のエラーを確認。

The exit status code '127' says something went wrong:
stderr: "sh: 1: /usr/local/bin/wkhtmltopdf: not found

wkhtmltopdfをインストールするだけでは以下のエラーが発生する。

The exit status code '134' says something went wrong:
stderr: "QXcbConnection: Could not connect to display

以下、Dockerfileに追記した内容。

###########################################################################
# wkhtmltopdf: 
###########################################################################

USER root

ARG WKHTMLTOPDF_PATH=/usr/local/bin/wkhtmltopdf
ARG WKHTMLTOIMAGE_PATH=/usr/local/bin/wkhtmltoimage

RUN apt-get update -yqq && \
    apt-get -y install openssl build-essential xorg libssl-dev xvfb wkhtmltopdf

RUN echo 'xvfb-run -a -s "-screen 0 640x480x16" /usr/bin/wkhtmltopdf "$@"' > /usr/local/bin/wkhtmltopdf.sh && \
    chmod a+x /usr/local/bin/wkhtmltopdf.sh && \
    ln -s /usr/local/bin/wkhtmltopdf.sh ${WKHTMLTOPDF_PATH} && \
    echo 'xvfb-run -a -s "-screen 0 640x480x16" /usr/bin/wkhtmltoimage "$@"' > /usr/local/bin/wkhtmltoimage.sh && \
    chmod a+x /usr/local/bin/wkhtmltoimage.sh && \
    ln -s /usr/local/bin/wkhtmltoimage.sh ${WKHTMLTOIMAGE_PATH}

参考:https://stackoverflow.com/questions/9604625/wkhtmltopdf-cannot-connect-to-x-server

↑↑↑大変助かりました!!

以上。

Dockerでwkhtmltopdf」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です