我正在使用 pdfMake -library 在我的一个应用程序的客户端生成 PDF 文档。使用该库时我的主要问题是它依赖于虚拟文件系统中的可用字体。因此,字体在一个名为 vfs_fonts.js 的 JavaScript 文件中被发送到客户端,然后被加载到虚拟文件系统中,然后嵌入到生成的 PDF 文件中(当然只有整个字体的使用字符子集)。
在默认设置下,库使用 Roboto 字体,因此仅发送 800kb 多一点的字体。我的主要直觉是:
为什么不使用系统字体从而节省流量呢?
有没有办法让它使用系统字体?
我目前减少流量的方法是从 vfs_fonts.js 中删除我创建的文档中未使用的字体样式。例如,当仅使用常规样式时,我删除了斜体、粗体样式和斜体/粗体样式。使用这种方法,我至少能够将字体文件的大小减小 3/4。
原文由 snrlx 发布,翻译遵循 CC BY-SA 4.0 许可协议
我也在使用 PDFmake,我遇到了类似的问题。
您必须通过相应的键添加任何新源,如下所示:
然后在 PDF 内容中,您必须添加要使用的“字体”。
我希望您发现它对于正在寻找解决方案的人来说是一个很好的解决方案。
来源在这里。 感谢 Daniel Arbiol ( Darbiol )。