只有数字丢失 Weasyprint PDF

9
这就是问题所在,我使用的是Mac Mojave操作系统,weasyprint-44版本,Python 3.6以及匹配的Cairo等版本。PDF文件除了数字之外都可以正常渲染 - 符号和字母都没问题。这太奇怪了。有没有人能指点一下方向?

我也遇到了同样的问题 - 你找到解决方案了吗? - leecbaker
今天发生了这件事。很有趣,你立刻注意到它缺少了很多内容。然后更近一步看,就像是“只是数字?”我有字母和下划线以及表格边框,甚至括号。很想把这个交给业务团队,看看他们的反应(这是统计分析,所以是垃圾)。 - Matthew Poer
3个回答

5
我通过从字体家族的CSS声明中删除"Segoe UI Emoji" 字体解决了这个问题。自从这个字体从CSS中删除后,数字又开始出现了。
这个错误似乎始于macOS 10.14.4的某些更改。

4

我在Mac(Mojave 10.14.5)上遇到了同样的问题。我通过为打印定义不同的字体族来解决了这个问题。在我的情况下,我使用的是:

font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;

一切都能很好地打印出来。


确实,这是一个古怪的字体问题,起源于Bootstrap。 - Patrick Mutuku
确认在我的Mac OS X Big Sur、Python 3.8.5和Bootstrap 4.6.0下可以正常工作。 - Matthew Poer

2

相同问题会在Sierra(10.12)和High Sierra(10.13)以及Mojave(10.14)上发生,特别是在使用Bootstrap 4时。

默认的body定义如下:

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";

无论是 Apple Color Emoji 还是 Segoe UI Emojii 都可能导致最终的 PDF 无法正确显示数字。

删除所有提到 Emojii 字体的内容即可恢复数字的显示。

注意:数字仍然存在,您可以复制和粘贴它们,但它们实际上并不可见。


1
这正是我发现上面解决方案的方式。我的代码使用了Bootstrap 4,在10.14.3上工作良好,但在10.14.4上却不行。 - leecbaker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接