我有一个订单表格,用户下订单,在下订单后,他们是一个用jquery生成的发票,要求他们打印。我希望能够只将页面上包含发票的div提交给引擎或者现在将其转换为pdf的内容,它打印出一个表结构化的订单。此外,如何在打印时仅使该部分可用,以便打印输出仅包含订单发票并隐藏页面的所有其他部分。 伪代码:
Function make_pdf($html){
// run thought the submitred html
// create pdf version
// make available for download.
}
答案 0 :(得分:0)
您可以使用here中的jQuery Print Element
。打印div时,您只需调用插件的功能:
$('#invoiceContainer').printElement();
您可以传递包含发票的div ID,然后将其保存为pdf。
答案 1 :(得分:0)
使用打印按钮调用功能。
onclick
事件中添加javascript函数。获取收据div的内容(使用jquery:$('#receipt').html()
或javascript document.getEmementById('invoice').innerHTML')
。将此内容添加到表单中的隐藏变量中。将表单提交到专用的php文件。 (<form target='_blank'
)
你在专用的php文件中得到了帖子数据。
$html = $_POST['hiddenHtml'];
$pdf->writeHTML($html, true, false, true, false, '');
答案 2 :(得分:0)
您需要某种PDF生成器来运行您发布必要信息的服务器端。有一些常见的PDF生成器库,但我不确定它们的功能。看看这篇文章:
最简单的方法是找到一个支持HTML转换为PDF并只通过ajax将html标记直接发布到服务器等。否则,如果没有转换,则必须从表单中传递原始数据。模板PDF服务器端,同时在相对占位符中插入数据。然后只需使用正确的标题将PDF输出回客户端,即可让用户下载文件。
例如:header('Content-type: application/pdf');