4 回答

TA贡献1779条经验 获得超6个赞
Weasyprint 需要安装一些依赖项,认为不可能在 heroku 上安装它。我在本地对其进行了测试,它运行良好,设置完成后,很容易提供一个漂亮的动态 html 文档并获得一个可靠的 pdf 作为回报。
heroku 提供了一个 web2pdf 插件: https ://elements.heroku.com/addons/webtopdf#details
我还没有测试它,但它看起来很有希望。

TA贡献1821条经验 获得超5个赞
我刚刚将WeasyPrint添加到我的Django程序中。我在本地和Heroku上都对其进行了测试。它在两个地方都非常有效。
如果您使用的是 Django,您可以先运行 pip3 freeze 以获取正确的 WeasyPrint 信息(版本)以在您的需求文件中使用:
$ pip3 freeze
然后查找 WeasyPrint 信息。对我来说,它是以下行:
WeasyPrint==51
将此行添加到requirements.txt文件中。然后运行:
$ git add -A
$ git commit -m "Changed requirements"
$ git push heroku master
Heroku 添加了 WeasyPrint 及其依赖项。

TA贡献1828条经验 获得超3个赞
WeasyPrint 比 ReportLab 更易于使用,weasyprint 的唯一问题是它不能正确处理分页符(因为您正在将 HTML 页面转换为 PDF),如果您的报告超过 1 页,这可能会破坏交易(例如表格)

TA贡献2036条经验 获得超8个赞
我有最重要的 Reportlab 经验。要启动并运行它需要您付出很多努力,它不能“开箱即用”并且涉及大量编程(您需要创建模板,围绕文本构建逻辑,围绕批处理作业构建例程等) . 它作为一个普通的 PIP 包安装,但是你需要开始编程才能让它工作。
但是,看起来 Weasyprint 使用另一种技术来生成 pdf(用于打印的 CSS),如果您已经拥有使用 CSS 格式化的页面,这可能是一种更容易访问的解决方案。
添加回答
举报