
八年来,我一直在与Python的打印(或PDF)输出作斗争,到目前为止,我遇到了以下方法(按个人喜好排列):
- 通过pyJasper(由我编写)或JasperServer使用JasperReports。您可以使用WYSIWYG设计工具iReport定义布局。您的Python代码将通过HTTP与基于Java的Jasper引擎联系,并使其呈现PDF(pyJasper可以处理)。我们每天使用数千页。
- 使用纯文本输出。你不能再快了。我们每天使用数百页。
- 使用XSLT-FO。您还必须调用基于Java的渲染引擎,如FOB。可能会导致性能问题,但是可以通过长时间运行Java服务器进程来缓解-与Jasper相同的方法。我们每天使用数百页,但是编写XSLT-FO文档使我很头疼。不用于新代码。
- 生成LaTeX源,并使用乳胶软件包将其渲染为PDF。要让LaTeX看起来像 您 想要的是相当困难的。但是,只要使用提供的LaTeX样式,就可以了。未在我的商店中用于生产。
- 使用ReportLab工具包生成PDF 。有点低水平。更底层:FPDF。我们每天使用FPDF-Ruby数百页。花了很多心血来获取我们想要的布局。
- 直接生成后记。奇怪,但您几乎无法获得更多的速度和控制能力。我们用它来生成每天有数十万Jpegs的联系表。需要摆弄,但很有趣。
- 使用troff / groff生成Postscript / PDF。级别很低,但是很适合做简单的大批量事情。因此从未在生产中使用过它。
对于订单,发票等,我强烈建议使用JasperReports。使用可视化编辑器定义布局的功能可节省大量时间。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)