jspdf - 正在删除最后一个段落行

时间:2017-01-18 08:50:34

标签: javascript jquery html pdf jspdf

我正在使用jspdf library从html生成PDF文件。这真的很棒。但是我在pdf的每一页都有最后一行的问题。

这是DEMO和我的javascript:

var pdf = new jsPDF();
$('#generatePdfBtn').click(function () {
    pdf.fromHTML($('#printableContent').html(), 15, 15, {
        'width': 400
    });
    pdf.save('myPdf.pdf');
});

当您通过单击按钮生成pdf时,您将看到在第一页末尾我们有“pararaph 30”,通常在pdf的下一页我们应该看到下一个“pararaph 31”段落。但我没有看到它,而是看到“pararaph 32”。为什么最后一行丢失?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

有一个技巧,如果你可以确定,你需要在哪里放置分页符,那么你可以简单地在那里放置一个""来强迫它。这样就可以避免文本被删除。

工作演示: http://jsfiddle.net/nq361uoz/4/

不幸的是,这是jsPDF中的一个已知错误,它在open存储库中仍处于GitHub状态。

此处有更多信息: https://github.com/MrRio/jsPDF/issues/555

希望这有帮助!

答案 1 :(得分:1)

试试这个:

打开您的jspdf.jsjspdf.debug.js本地文件并对其进行修改:

this.pdf.internal.getVerticalCoordinateString(this.y), style.color, "Td");

删除style.color并另存为:

this.pdf.internal.getVerticalCoordinateString(this.y), "Td");

然后它在firefox和chrome上正确运行。至少那对我有用,这是一个解决方案,直到他们解决了这个失败。

答案 2 :(得分:0)

我的猜测是它切断了线条,因为它不在边缘内。最简单的方法是创建一个循环,每31行重复一次。不是最好的解决方案,但最快的。