让我提供一些背景知识。我所在的一家志愿者组织为那些在假期不能来接他们的人送餐。他们目前有一个SQL Server DB,用于存储所有客户的信息以及每年的餐饮信息。目前,Java桌面应用程序连接到SQL Server DB,并允许执行多种功能。
即添加客户、添加餐饮、删除客户、打印送货单。
我希望使用python Flask将应用程序重写为基于web的应用程序。目前我感兴趣的一个功能是打印交货单功能。
它的工作方式是为当前年份设置一个值。当您单击print deliveries for year按钮时,它会将每个客户的文档批量打印到8.5“x 11.5”纸张上。这张纸将被一分为二,每一面都有相同的信息。这些信息包括客户姓名、地址、用餐次数等。
我想知道如何/什么是设置这个模板的最好方法,这样我就可以使用python批量打印它。我正在考虑为页面创建一个html模板,但我不确定这将如何工作。
再一次,我需要将该年内的每个客户都输入到模板中,并批量打印到8.5“x 11.5”工作表。
我想问的是……
我怎样才能为打印创建一个模板,我可以传递给每个客户两个。如何为每个客户批量打印每个客户模板。
如果可能的话,我希望用python来完成这一切。感谢您的时间和帮助。
发布于 2018-06-19 04:06:00
如果您已经将其部署为web应用程序,那么设计和生成pdf可能会更容易。您可以使用html到pdf的转换器,在PyPI上有几个,或者有大量的在线资源,例如:
一旦你找到了生成PDF的方法,你就可以像任何其他的PDF一样使用它们,或者让用户下载它们或者从浏览器打印它们(这可能需要一点Javascript,但这应该不是很难,因为它应该只是一个window.open
调用。
例如,您可以添加一个按钮
<button onclick="getPDF()">Download PDF</button>
然后,它将调用您定义的一个名为getPDF()
的函数,该函数会找到一种生成pdf的方法。
function getPDF() {
// Find the uri for the pdf by some method
var urlToPdf = getUrlToPdf();
// Open PDF in new window
window.open(urlToPdf, "_blank");
}
注释由于您使用的是Flask,因此您可以使用{{ }}
语法将pdf的URL包含在页面的源代码中,甚至包括Javascript。则仅当有人请求该路由时才生成pdfs。
这样,您就完全不必担心自己连接到打印机,只需使用浏览器来处理这些任务即可。
https://stackoverflow.com/questions/50916187
复制相似问题