6

我已经使用 安装了 weasyprint pip install weasyprint,据我了解,它应该安装必要的依赖项。

不知何故,由 weasyprint 生成的 PDF 输出不包含任何字体,并且所有字符都被框替换。

打开文档时,我可以看到没有嵌入任何字体。我还可以通过输入python -m weasyprint.navigator终端并访问示例站点之一来重现该问题。下面是我的 weasyprint 安装呈现的维基百科主页。

使用 weasyprint 渲染的维基百科主页

什么可能导致这个问题,我该如何解决它?

4

4 回答 4

0

看来问题出在字体上。可能,您没有在服务器中安装正确的字体。在 linux (ubuntu) 中,您可以运行此命令以使用此命令安装推荐的字体。

sudo apt-get install texlive-fonts-recommended

要管理字体,请使用:

sudo apt-get install fontconfig
于 2020-06-16T07:35:38.240 回答
0

fc-*我使用命令行工具在 MacOS 上修复了这个问题。您可以使用brew install fontconfig.

  1. 运行fc-list以列出系统上安装的字体
  2. 运行fc-cache -v看看fontconfig在系统上查找字体的地方
  3. 选择这些位置之一(如果它不存在,则制作它)并在那里复制字体。
# note: change `alex` to your user name
sudo mkdir /Users/alex/.fonts
sudo cp /Library/Fonts/Microsoft\ Sans\ Serif.ttf /Users/alex/.fonts
  1. 重新生成缓存fc-cache -vf
  2. 通过运行检查是否已安装字体fc-list
  3. PDF 现在应该可以正确生成
于 2018-11-15T20:08:26.027 回答
0

我也遇到过同样的问题,我认为是缺少字体导致了这个问题,最后我在/usr/share/fonts/文件夹中添加了一个字体解决了这个问题。

于 2018-10-29T02:43:25.800 回答
0

我遇到了完全相同的问题,谷歌将我引向了这个话题。我想确认问题出在我的 Linux Docker 映像中缺少字体。

将缺少的字体安装到您的系统中。在我的操作系统上没有安装任何字体。

于 2018-09-07T09:12:05.083 回答