多页 – jsPDF多页PDF与HTML渲染器

前端之家收集整理的这篇文章主要介绍了多页 – jsPDF多页PDF与HTML渲染器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的站点中使用jsPDF生成PDF.但现在我有多个DIV打印在一个单一的PDF.可能需要2到3页.

例如:

<div id="part1">
  content
</div>

<div id="part2">
  content
</div>

<div id="part2">
   content
</div>

我的JS代码

>这是有效的,但不是我预期的,它添加了一部分内容(不能包含在多个页面中).
>它删除html标签,如br,h1等

function formtoPDF() {
      jsPDF.API.mymethod = function() {
        // 'this' will be ref to internal API object. see jsPDF source
        //,so you can refer to built-in methods like so:
        //   this.line(....)
        //   this.text(....)
      };
      var doc = new jsPDF();
      doc.mymethod();
      var pdfPart1 = jQuery('#genPDFpart1');
      var pdfPart2 = jQuery(".ltinerary");
      var pdfPart3 = jQuery("#domElementHTML");
      var specialElementHandlers = {
        '#loadVar': function(element,renderer) {
          return true;
        }
      };
      doc.fromHTML(pdfPart1.html() + pdfPart3.html() + pdfPart3.html(),15,{
        'width': 170,'elementHandlers': specialElementHandlers
      });
      doc.output('save','Download.pdf');
    }

我可以解决这个问题吗?先谢谢你们.

解决方法

我有同样的工作问题.搜索MrRio github我发现这个: https://github.com/MrRio/jsPDF/issues/101

基本上,您必须在添加内容之前始终检查实际的页面大小

doc = new jsPdf();
...
pageHeight= doc.internal.pageSize.height;

// Before adding new content
y = 500 // Height position of new content
if (y >= pageHeight)
{
  doc.addPage();
  y = 0 // Restart height position
}
doc.text(x,y,"value");

猜你在找的HTML相关文章