Sum*_*eet 6 html javascript jspdf
我从jsPDF api 生成pdf ,我想在页面编号的每个页面添加页脚.
如何实现这一目标.它可以选择从HTML插件添加页脚,但我写的是没有HTML.
var doc = new jsPDF("portrait","px","a4");
Run Code Online (Sandbox Code Playgroud)
斯蒂芬柯林斯是最好的答案!它适用于jspdf-autotable插件。
有了这个之后就全部添加到doc中了,这样我们就可以轻松使用总页数了!
为斯蒂芬柯林斯的回答添加一些风格:“总页数”
const addFooters = doc => {
const pageCount = doc.internal.getNumberOfPages()
doc.setFont('helvetica', 'italic')
doc.setFontSize(8)
for (var i = 1; i <= pageCount; i++) {
doc.setPage(i)
doc.text('Page ' + String(i) + ' of ' + String(pageCount), doc.internal.pageSize.width / 2, 287, {
align: 'center'
})
}
}
let doc = new jsPDF()
doc.text(...)
doc.autoTable(...)
addFooters(doc)
doc.save()
Run Code Online (Sandbox Code Playgroud)
在运行之前运行此函数 doc.save()
function addFooters() {
const pageCount = doc.internal.getNumberOfPages();
for(var i = 1; i <= pageCount; i++) {
doc.text(String(i), 196, 285);
}
}
Run Code Online (Sandbox Code Playgroud)
你必须自己实现它.你可以这样做:
var doc = new jsPDF();
doc.page=1; // use this as a counter.
function footer(){
doc.text(150,285, 'page ' + doc.page); //print number bottom right
doc.page ++;
};
// and call footer() after each doc.addPage()
Run Code Online (Sandbox Code Playgroud)
小智 6
我知道这篇文章很旧,但是我将提供另一个解决方案。首先定义您的页面总数。有多种确定方法,因此我不再赘述。
var doc = new jsPDF('p', 'pt', 'letter');
doc.page = 1; // use this as a counter.
var totalPages = 10; // define total amount of pages
// HEADER
doc.setFontSize(20);//optional
doc.setTextColor(40);//optional
doc.setFontStyle('normal');//optional
doc.text("Report", 50, 22);// set your margins
// FOOTER
var str = "Page " + doc.page + " of " + totalPages;
doc.setFontSize(10);// optional
doc.text(str, 50, doc.internal.pageSize.height - 10);//key is the interal pageSize function
// Add Page content
.....
//Add new page and increase page count
doc.addPage();
doc.page ++;
//Begin process all over again.
Run Code Online (Sandbox Code Playgroud)
这在循环中效果很好,因为您可以通过使用array.length + 1(因为它从零开始)来设置页数。
| 归档时间: |
|
| 查看次数: |
23142 次 |
| 最近记录: |