【问题标题】:jsPDF not creating correct PDFjsPDF没有创建正确的PDF
【发布时间】:2015-08-11 01:44:07
【问题描述】:

我有一个看起来像这样的表:

当有人单击 PDF 按钮时,我正在使用以下代码尝试生成 PDF。

<script>
    var doc = new jsPDF();

    $('#pdf').click(function () {
        var specialElementHandlers = {
            '#editor': function (element, renderer) {
                return true;
            }
        };

        doc.fromHTML($('#pdfcontent').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
        });

        doc.save('sample-file.pdf');
    });
</script>

生成的 PDF 如下所示:

如何让 PDF 成为网站的镜像?

【问题讨论】:

    标签: javascript php jquery pdf jspdf


    【解决方案1】:

    您不应期望 jsPDF 会镜像 HTML 页面的内容,因为它会解析 HTML 以将内容重新创建为 PDF,并且 HTML 解析器处于早期阶段(如 official web-site 所述)。

    我建议使用jsPDFTablePlugin,它可以将输入作为带有数据的对象数组并将它们作为表格绘制到PDF中。

    【讨论】:

      【解决方案2】:

      我强烈建议切换到服务器端 PDF 生成。 PhantomJS 将通过 svg 和画布支持为您制作几乎像素完美的 PDF,并且所有元素仍将保留为矢量!你应该试一试。

      使用客户端 PDF 生成器,例如提到的 jsPDF,您的能力非常有限,最终结果将与您期望的相差甚远。

      【讨论】:

      • 如何在 PhantomJS 中制作&lt;div&gt; 的 PDF?
      • @Jack,通过阅读手册和一些基本示例开始您的 PhantomJS 之旅:phantomjs.org/screen-capture.html。作为输出文件类型 pdf 而不是 png / jpg。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多