乐趣区

Docker-部署-Laravel-应用-使用-wkhtmltopdf-导出-PDF

这边篇我们写一下如何用 wkhtmltopdf 导出 HTMLPDF

一、安装字体

WORKDIR /tmp

# 安装软件
RUN set -eux \
    && apt-get update \
    && apt-get install -y --no-install-recommends wget unzip fontconfig

# 安装 Noto Sans SC 字体
RUN wget https://fonts.google.com/download?family=Noto%20Sans%20SC -O Noto_Sans_SC.zip \
    && unzip Noto_Sans_SC.zip -d /usr/share/fonts \
    && fc-cache 
    
# 清理无用的依赖包
RUN set -eux \
    && apt-get autoremove \
    && apt-get autoclean \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

二、安装 wkhtmltopdf

WORKDIR /tmp

# 安装软件
RUN set -eux \
    && apt-get update \
    && apt-get install -y --no-install-recommends wget unzip \
        libfontenc1 libjpeg62-turbo libx11-6 libx11-data libxau6 libxcb1 \
        libxdmcp6 libxext6 libxfont1 libxrender1 x11-common xfonts-75dpi \
        xfonts-base xfonts-encodings xfonts-utils

# 安装 wkhtmltopdf
RUN wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb -O wkhtmltox_0.12.5-1.stretch_amd64.deb \
    && dpkg -i wkhtmltox_0.12.5-1.stretch_amd64.deb 
    
# 清理无用的依赖包
RUN set -eux \
    && apt-get autoremove \
    && apt-get autoclean \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

三、安装 barryvdh/laravel-snappy 拓展

# https://packagist.org/packages/barryvdh/laravel-snappy
composer require barryvdh/laravel-snappy

然后根据 laravel-snappy 文档配置,下边是我们安装好的 wkhtmltopdf 位置:

SNAPPY_PDF_BINARY=/usr/local/bin/wkhtmltopdf
SNAPPY_IMAGE_BINARY=/usr/local/bin/wkhtmltoimage

如此就安装完成了,具体配置及使用方法参考 laravel-snappy 文档。

相关阅读

  • Docker 部署 Laravel 应用 – 基础应用
  • Docker 部署 Laravel 应用 – 队列 & 任务调度
  • Docker 部署 Laravel 应用 – 使用 wkhtmltopdf 导出 PDF
  • 示例代码
退出移动版