weasyprint 与 django 将数字呈现为图像

Posted

技术标签:

【中文标题】weasyprint 与 django 将数字呈现为图像【英文标题】:weasyprint with django renders digits as images 【发布时间】:2020-09-03 12:50:49 【问题描述】:

我正在尝试使用here 描述的基本方法,使用python-django 3.0.5django-weasyprint 1.0.1 打印发票。

我的静态文件和样式表均已正确加载。像正常的 django HttpResponse 一样返回我生成的 html 字符串可以正常工作。

但是,将我的内容呈现为 PDF 总是会将每个数字呈现为低分辨率图像,如下所示:

数字生成为常规文本,我希望它们使用与它们周围的字母相同的字体呈现为常规文本。我错过了一个设置吗?或者这是一个错误?

【问题讨论】:

【参考方案1】:

更改 pdf 样式表中的字体,更具体地说是 font-family。人们在使用 Apple Color EmojiSegoe UI Emojii 等字体时遇到过问题(如果包含)。

【讨论】:

哦,伙计...本来可以这么简单的...我添加了body font-family: 'Helvetica', sans-serif; 作为快速测试,就像一个魅力。我会玩更多的字体系列。非常感谢!顺便说一句,我之前使用了 twitter bootstrap 4 默认字体。

以上是关于weasyprint 与 django 将数字呈现为图像的主要内容,如果未能解决你的问题,请参考以下文章

Django HTML & CSS 渲染为 pdf

Django-Weasyprint 图像问题

使用 jinja2 和 weasyprint 在 PDF 渲染中忽略图像

django 生成动态的PDF文件

Django WeasyPrint CSS 集成警告:没有基本 URI 的相对 URI 引用:<link href="/static/css/bootstrap.min.css&quo

使用具有通用页眉/页脚和分页的 WeasyPrint 生成 PDF