使用Javascript以PDF格式打印页面(使用Django)

时间:2013-07-31 16:13:03

标签: javascript python html django

我需要将网页转换为PDF,因为如果没有转换,它将无法打印/看起来正确。这是因为网页太大了,作为HTML文档,浏览器会尝试将其拆分为多个页面(不仅仅是垂直,这很好,但水平,这很糟糕)。虽然我最初计划在Django的服务器端执行此操作,但我意识到当我使用python 3时,几乎所有可用的库都是为python2编写的。

所以我唯一的另一个选择是客户端。我在stackoverflow上唯一能找到的就是:convert HTML ( having Javascript ) to PDF using JavaScript,但所有的答案都是用Java编写的,而不是javascript。

1 个答案:

答案 0 :(得分:2)

我认为最理想的解决方案是改变风格,使其更适合打印机,而不是将其变成PDF格式。

如果它真的必须是用Javascript创建的pdf,那么有一个库jsPDF http://parall.ax/products/jspdf用于使用Javascript创建pdf。您必须自己编写一些内容来解析页面以创建匹配的pdf。

如果你可以使用php,我建议使用dompdf,这是专门为将网页翻译成pdf而编写的,所以那里涉及的工作要少得多。 https://github.com/dompdf/dompdf我实际上使用过这个库,虽然它不支持所有的css样式,但看起来还算不错。