我有一个存储客户端数据的Django应用程序。目前,数据库中只有1,000多个客户端。一年两次,我需要为每个客户打印一份半定制的信件。理想情况下,我希望能够单击按钮/链接,并将整个批次发送到打印机;我不想为每个字母单击“打印”,因为这会非常费时。
我曾想过使用Celery来打印所有文档的过程,但我不知道如何实现。我必须“构建”文档并将其发送到打印机,而无需用户看到这种情况。
我的另一个想法是创建一个包含一页上所有字母的“网页”。然后用户可以点击“打印”,页面将作为字母集合从打印机中出来。虽然,这看起来很草率。
有什么想法吗?
由于
答案 0 :(得分:5)
我建议使用wkhtmltopdf执行此任务。然后,您可以通过一个带有分页符的长html或单独创建所需的字母,并在定期打印PDF时打印它们。
http://code.google.com/p/wkhtmltopdf/
由于wk代表WebKit,它将打印出质量非常好的PDF。这是一个可以下载和运行的命令行工具。小教程就在这里。
http://shivul.posterous.com/django-create-dynamic-pdfs-using-wkhtmltopdf
ReportLab也是一个不错的选择。但是我自己我不想创建原始的pdf语法和Pisa的ReportLab的html库并不是那么好。 wkhtmltopdf更好更容易使用。
答案 1 :(得分:1)
我建议使用像Reportlab这样的东西来创建整个单独的PDF文档,您可以一次性发送到打印机。
请参阅generating PDFs from Django上的文档。