AWS Lambda 上的破损字体

This article was translated from English: Does it need improvement?
Translated
View the article in English

在 Linux 中渲染 PDF 文档可能会导致字符断开,如下图所示。 有时字符在 Windows 环境下可以正常显示,但在 Linux 环境下却不能。

损坏的字符

原因

原因是操作系统中缺少字体。

解决方案

如果您已经知道字体名称,那很好,您可以跳过步骤 1。

  1. 要查找字体名称,请尝试在 Windows 上渲染 HTML 并使用 Adobe 检查字符。

  2. 一旦识别出字体名称,您可以在线下载字体文件,例如从Google Font下载。

  3. 要通过 Dockerfile 添加和安装字体,将字体放在项目中,并将“复制到输出目录”设置为“始终复制。” 然后使用以下代码在 Dockerfile 中添加和安装:

COPY cambria.ttc /usr/share/fonts/

运行 dnf install -y fontconfig &&\

fc-cache -fv