1

我有一个订单表格,用户在其中下订单,下订单后,他们是用 jquery 生成的发票,要求他们打印。我希望能够仅将页面上包含发票的那个 div 提交给引擎或现在将其转换为 pdf 的东西,它是一个表格结构的订单打印出来。以及如何在打印时仅使该部分可用,以便打印输出仅包含订单发票并隐藏页面的所有其他部分。伪代码:

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

3 回答 3

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, '');

于 2013-02-15T05:40:55.690 回答
0

您将需要某种 PDF 生成器来运行您发布必要信息的服务器端。有一些常见的 PDF 生成器库,但我不确定它们的功能。看看这篇文章:

PHP PDF 生成器建议

最简单的做法是找到一个支持 HTML 到 PDF 转换的工具,然后通过 ajax 等将 html 标记直接发布到服务器。否则,如果没有转换,您将不得不从表单传递原始数据并将 PDF 模板化服务器端,同时在相关占位符中插入数据。然后只需使用正确的标题将 PDF 输出回客户端,允许用户下载文件。

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

于 2013-02-15T05:50:49.400 回答
0

You can use jQuery Print Element from here. When printing a div, you just have to call the plugin's function:

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

You can pass the div id that containts the invoice, then you can save it as pdf.

于 2013-02-15T05:38:34.317 回答