Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中批量打印自定义HTML页面_Python_Python 3.x_Flask_Printing_Batch Processing - Fatal编程技术网

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

在Python中批量打印自定义HTML页面,python,python-3.x,flask,printing,batch-processing,Python,Python 3.x,Flask,Printing,Batch Processing,让我提供一点背景资料。 我志愿参加的一个组织为那些在假期不能来取食物的人送饭。 他们目前有一个SQL Server数据库,存储所有客户机的信息以及每年的用餐信息。 目前,一个Java桌面应用程序连接到SQL Server DB,并允许执行多个功能 i、 e.添加客户、添加膳食、删除客户、打印送货单 我希望使用PythonFlask将应用程序重写为基于web的应用程序。目前我感兴趣的一个功能是打印传送表功能 其工作方式是,本年度有一个设置。当您单击“打印年度交付”按钮时,它会将每个客户的文档批量打

让我提供一点背景资料。 我志愿参加的一个组织为那些在假期不能来取食物的人送饭。 他们目前有一个SQL Server数据库,存储所有客户机的信息以及每年的用餐信息。 目前,一个Java桌面应用程序连接到SQL Server DB,并允许执行多个功能

i、 e.添加客户、添加膳食、删除客户、打印送货单

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

其工作方式是,本年度有一个设置。当您单击“打印年度交付”按钮时,它会将每个客户的文档批量打印到8.5英寸x 11.5英寸的纸张上。这张纸将一分为二,每一面都有相同的确切信息。这些信息包括客户姓名、地址、用餐次数等

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

再次,我需要将该年内的每位客户都输入模板,并批量打印到8.5英寸x 11.5英寸的纸张上

我想问的是

我怎样才能为打印创建一个模板,让每个客户都能看到。 如何为每个客户批量打印该模板

如果可能的话,我希望用python完成这一切。
谢谢你的时间和帮助

如果您已经将其部署为web应用程序,那么设计和生成pdf可能会更容易。您可以使用html-to-pdf转换器,PyPI上有多个html-to-pdf转换器,或者有大量在线资源,例如:

一旦你找到了生成PDF的方法,你就可以像其他PDF一样使用它们,让用户下载或从浏览器中打印它们(这可能需要一点Javascript,但这并不难,因为它应该只是一个
窗口。open
调用

例如,您可以添加一个按钮

<button onclick="getPDF()">Download PDF</button>
注意因为您使用的是Flask,所以您可以在页面的源代码中包含pdf的URL,甚至使用
{{}
语法的Javascript。然后,只有当有人请求该路由时才会生成pdf


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

您的意思是它将在一批中为每个客户打印一个单独的页面,还是它将为一个人批量打印所有发货/发票?我的意思是,只需单击一个按钮,它将打印一个单独的页面批量中每个客户的e页。因此,模板需要定制多次,然后为每个客户打印。请让我知道这是否清楚。谢谢。嗨,Edward,我感谢您的快速回复。它目前部署为java应用程序,但我想将其转换为web应用程序。我是什么我有点困惑的是,我希望以批处理形式打印此文档,而不必显示所有约500个客户端的PDF。我希望能够单击一次按钮,然后为该年的每个客户端打印一张表单。为此,最简单的解决方案可能是找到一种方法,创建一个500页的PDF,其中包含一个单独的页面对于每个客户。用户仍然需要打开然后打印,但这样它将只需要一个PDF而不是数百个文档。
function getPDF() {
  // Find the uri for the pdf by some method
  var urlToPdf = getUrlToPdf();

  // Open PDF in new window
  window.open(urlToPdf, "_blank");
}