jsPDF-在所有页面的页脚中打印当前页码

时间:2018-09-04 16:14:08

标签: jspdf

我正在尝试使用以下命令打印当前页码:https://github.com/MrRio/jsPDF/pull/260

但是jsPDF渲染了大量空白页并崩溃:(

没有页脚,一切正常,我得到了一个不错的PDF,包含27页,但没有页脚原因

控制台错误:
 

我的页脚是:

<footer>
    <div style='text-align:center;'>Page <span class="pageCounter"></span>/<span class="totalPages"></span></div>
</footer>

这是我的Jquery部分:

var doc = new jsPDF();
var margins = {
  top: 10,
  left: 10,
  right: 10,
  bottom: 20,
  width: 265
};

doc.setProperties({
 title: 'Title',
 subject: 'This is the subject',
 author: 'Author Name',
 keywords: 'generated, javascript, web 2.0, ajax',
 creator: 'Creator Name'
});

length = doc.internal.getNumberOfPages()

doc.fromHTML(response, margins.left, margins.top,{
    'width': margins.width // max width of content on PDF
},
function(){
    doc.save('noter.pdf');
}, margins);

2 个答案:

答案 0 :(得分:0)

很奇怪!但显然,页脚需要有一个<p>标记才能使其正常工作,即使它与github页面上的示例中的标记并非如此……

所以我改变了

<footer>
    <div style='text-align:center;'>Page <span class="pageCounter"></span>/<span class="totalPages"></span></div>
</footer>

<footer>
    <div><p>Page <span class="pageCounter"></span>/<span class="totalPages"></span></p></div>
</footer>

现在可以使用

答案 1 :(得分:0)

您可以使用以下代码:

enter image description here

var doc = jsPDF();
doc.addPage();
doc.addPage();
doc.addPage();
doc.addPage();

var pageCount = doc.internal.getNumberOfPages(); //Total Page Number
for(i = 0; i < pageCount; i++) { 
  doc.setPage(i); 
  let pageCurrent = doc.internal.getCurrentPageInfo().pageNumber; //Current Page
  doc.setFontSize(12);
  doc.text('page: ' + pageCurrent + '/' + pageCount, 10, 10);
}