16

如果不可能,那么其​​他选择是什么?

我试图将完整的 html 页面转换为具有动态值的 pdf,但我不能。

但是我看到了一些像jspdf这样的 API,但它对我没有用。

是否可以使用 JavaScript 或 jQuery 将 HTML 页面保存为 PDF 文件?

详细地:

我生成了一个 HTML 页面,其中包含一个动态填充所有可用报告的列表网格。它有一个按钮“另存为 PDF”。如果用户单击此按钮,则 HTML 页面将转换为 PDF 文件。

是否可以使用 JavaScript 或 jquery?

4

4 回答 4

10

jsPDF 有一个 HTML 渲染器,但它处于早期阶段:

https://github.com/mrrio/jsPDF

http://parall.ax/products/jspdf

另一个解决方案可能是https://github.com/eKoopmans/html2pdf.js

但最好的解决方案是来自 mujaffars 的解决方案。用户 AJAX 和一个用 PHP 编写的稳定 PDF 库,如 FPDF、PDFLib、TCPDF 等。

于 2013-09-03T10:59:18.487 回答
1

好吧,如果我正确地回答了您的问题,那么您需要Export a Table Data as PDF吗?

如果是,那么请在此处查看带有简单示例的datatables.js

此外,查看使用 BytescoutPDF.js(用于 JavaScript 的 Bytescout PDF 生成器)绘制 PDF 发票JSPDF,您可以在此处获取详细信息。

于 2013-08-27T07:29:10.487 回答
-1

您需要使用任何 pdf 生成库。您尚未指定您正在使用哪种技术(Php、.net 或其他任何技术)

在 PHP 中你可以使用 tcpdf 库,你可以在其中传递 html 来生成 pdf

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->AddPage();
$pdf->writeHTML($pdfHtml, true, false, true, false, '');

$pdfHtml 将是您的页面 html

在您的情况下,单击“另存为 pdf”按钮时,您可以使用 jquery 的 html() 方法获取 html

例如。

var pageHtml = $('html').html();

通过将 pageHtml 传递给 ajax 页面,您可以在 ajax 页面中创建 pdf

于 2013-08-27T07:14:26.310 回答
-7

确实有可能使用pdf.js插件 pdf.js是一个 HTML5 实验,它探索在没有本机代码帮助的情况下构建一个忠实高效的 PDF 渲染器。

在线演示

Github 链接

JSFIDDLE 演示

于 2013-08-27T07:13:50.913 回答