2013-02-15 108 views
0

我有一个订单,用户下订单并在下订单后,他们是用jquery生成的发票,要求他们打印。我希望能够只将包含发票的div提交给引擎,或者将其转换为pdf,然后将其打印出来。还有,如何在打印时仅使该部分可用,以便打印输出仅包含订单发票并隐藏页面的所有其他药水。 伪代码:将特定部分div转换为pdf

Function make_pdf($html){ 
    // run thought the submitred html 
    // create pdf version 
    // make available for download. 
    } 
+0

http://code.google.com/p/wkhtmltopdf/ – 2013-02-15 05:36:37

+1

我假设你想创建一个PDF作为输出在新标签页PDF文件,而不是使用打印功能,然后将其保存为文件。我会建议[FPDF](http://www.fpdf.org)。这个库已经过很好的测试并创建了无缝的pdf。 – coder101 2013-02-15 05:46:13

回答

0

您可以使用jQuery Print Elementhere。当打印一个div,你只需要调用插件的功能:

$('#invoiceContainer').printElement(); 

您可以通过DIV的ID containts发票,那么你可以将其保存为PDF格式。

+0

您不能依靠客户端脚本来生成PDF。浏览器可能会/可能不包含插件。 – vedarthk 2013-02-15 05:44:32

+0

这是一个jQuery插件,不是那种在客户端浏览器上安装的插件。它必须被合并到页面中。 – 2013-02-15 05:49:42

+0

Javascript代码如何生成PDF文件? – vedarthk 2013-02-15 05:53:05

0

使用打印按钮来调用功能。

  1. 在打印按钮的onclick事件处添加一个javascript函数。获取收据div的内容(使用jQuery:。$('#receipt').html()或JavaScript document.getEmementById('invoice').innerHTML')
  2. 这些内容添加到表单中的隐藏变量表单提交给一个专门的PHP文件(<form target='_blank') 你拿到后数据在专门的PHP文件。

  3. $html = $_POST['hiddenHtml'];

  4. $pdf->writeHTML($html, true, false, true, false, '');

+0

你在用什么库? – Notflip 2015-07-15 08:34:23

0

您需要某种形式的PDF生成器,用于运行服务器端,发布必要的信息。有几个常见的PDF生成器库,但我不确定他们的能力。看看这篇文章:

PHP PDF Generator Advice

做的是找到一个支持HTML到PDF转换而直接通过AJAX等张贴的HTML标记给服务器,否则无需转换的最简单的事情,你将必须从表单传递原始数据并为PDF服务器端模板,同时将数据插入相对占位符中。然后,将PDF输出回客户端,并提供正确的标题,以便用户下载文件。

如:header('Content-type: application/pdf');