如何使用JavaScript或jQuery将html页面导出到客户端的pdf?

时间:2013-08-27 07:03:06

标签: javascript jquery html

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

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

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

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

详细信息:

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

是否可以使用JavaScript或jquery?

4 个答案:

答案 0 :(得分:10)

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

https://github.com/mrrio/jsPDF

http://parall.ax/products/jspdf

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

答案 1 :(得分:1)

好吧,如果我的问题得到了解答,那么你需要Export a Table Data as PDF吗?

如果是,请通过简单示例datatables.js查看here

此外,请查看use BytescoutPDF.js (Bytescout PDF Generator for JavaScript) to draw PDF invoice JSPDF,您可以获取详细信息here

答案 2 :(得分:-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

答案 3 :(得分:-7)

确实可以使用 pdf.js 插件 pdf.js 是一项HTML5实验,旨在探索构建忠实且高效的PDF渲染器,而无需本机代码帮助。

Online Demo

Github Link

JSFIDDLE DEMO