就是这样,我在Mac Mojave上使用weasyprint-44,python 3.6和Cairo等版本。 PDF可以以其他方式很好地呈现-符号和字母很好-只是没有数字?
太奇怪了。
有人能指出我正确的方向吗?
答案 0 :(得分:3)
我能够通过从字体家族CSS声明中删除字体"Segoe UI Emoji"
来解决此问题。从CSS删除此字体后,数字再次开始出现。
该错误似乎始于对macOS 10.14.4的一些更改。
答案 1 :(得分: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
字体会使数字重新出现。
注意:数字仍然存在,您可以复制和粘贴它们,但是实际上它们是不可见的。
答案 2 :(得分:0)
我在Mac(Mojave 10.14.5)上存在相同的问题。我设法通过定义用于打印的其他字体系列来解决此问题。就我而言,我使用:
const aggregate = await Property.aggregate([
{
$lookup: {
from: 'cities',
localField: 'city',
foreignField: '_id',
as: 'test',
pipeline: [{ $match: { name: 'Caldas' } }]
}
},
{
$match: { test: { $ne: [] } }
}
]);
所有内容都能很好地打印出来。