批量打印Python中的自定义HTML页面

时间:2018-06-18 19:21:55

标签: python python-3.x flask printing batch-processing

让我提供一些背景知识。 我志愿参与的一个组织为假期期间无法接送的人提供膳食。 他们目前有一个SQL Server数据库,用于存储所有客户的信息以及每年的用餐信息。 目前,Java桌面应用程序连接到SQL Server DB,并允许发生多个功能。

即。添加客户端,添加餐食,删除客户,打印交货单。

我希望使用python Flask将应用程序重写为基于Web的应用程序。我目前感兴趣的一个功能是打印发送表功能。

这种方式的工作方式是当年的设置。当您单击年份打印交货按钮时,它会将每个客户的文档批量打印到8.5" x 11.5"纸。工作表将分成两部分,每一面都有相同的确切信息。该信息包括客户姓名,地址,用餐次数等。

我想知道的是如何/什么是设置此模板的最佳方式,以便我可以使用python批量打印它。我正在考虑为页面创建一个html模板,但我不确定它是如何工作的。

我再次需要将该年度内的每位客户传入模板并批量打印到8.5"按11.5"片。

我要问的是......

我如何为印刷品创建一个模板,我可以通过每个客户两个。 我将如何为每个客户以批量方式为每个客户打印该模板。

如果可能的话,我希望在python中完成所有这些操作。 感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

如果您已将其部署为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。

这样您就不必担心自己连接打印机了,只需使用浏览器来处理这类任务。