2017-01-02 62 views
1

我将在pdf上有一个灵活的表格...所以如果它非常大,autoTable会将它分成不同的页面......对吧?在这一点上,如果表将在不同的页面劈裂,我想提出的桌子,每一页上的页眉...如何在jsPDF和autoTable的每个页面上添加一个表格作为页眉

我尝试了钩beforePageContent & autoTableAddPageContent,但我不能使它工作......我打电话给里面的doc.autoTable:

let columns = [ 
    {title: "ID", dataKey: "id"}, 
    {title: "Name", dataKey: "name"}, 
    {title: "Email", dataKey: "email"} 
]; 

let data = [ 
    {id: 1, name: "A", email: "[email protected]"}, 
    {id: 2, name: "B", email: "[email protected]"} 
]; 

let options = { startY: 30 }; 

doc.autoTable(columns, data, options); 

我有什么选择?

我不得不使用jsPDF与autoTable所以我知道你要添加的每个页面,您可以简单地调用doc.autoTable多次对表的基础

三江源

+0

你说的重复是什么意思?每个页面上的同一张表? –

+0

是的。如果我需要把这张表放在内容前面的每个页面上 –

回答

0

。下面是一个简单的例子:

var doc = new jsPDF('p', 'pt'); 
 
var headers = ["Header 1", "Header 2"]; 
 
var rows = [["Cell 1", "Cell 2"], ["Cell 1", "Cell 2"]]; 
 

 
doc.autoTable(headers, rows); 
 
doc.text("Some content...", 40, doc.autoTableEndPosY() + 40); 
 

 
doc.addPage(); 
 

 
doc.autoTable(headers, rows); 
 
doc.text("Some content...", 40, doc.autoTableEndPosY() + 40); 
 

 

 
doc.save("table.pdf");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/2.1.0/jspdf.plugin.autotable.js"></script>

+1

但是我的数据大小是灵活的,它可以有1行或500 ..所以我不知道它会有很多页面...不应该是汽车? –

+0

数据是否灵活并不重要。你有没有尝试过以上? –

+1

是的,但我不能。当我应该打电话给doc.addPage()? –

相关问题