如何使用jsPDF和autoTable在每个页面上添加一个表作为标题

时间:2017-01-02 10:41:11

标签: jspdf jspdf-autotable

我将在pdf上有一个灵活的表...所以如果它非常大,autoTable会将它分成不同的页面......对吗?在这一点上,如果表格将在不同的页面中分割,我想在每个页面上放置一个AS HEADER表...

我试过了挂钩 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@host.com"}, 
  {id: 2, name: "B", email: "email@host.com"}
];

let options = { startY: 30 };

doc.autoTable(columns, data, options);

我有哪些选择?

我已经将jsPDF与autoTable一起使用,因此了解基础知识

三江源

2 个答案:

答案 0 :(得分:0)

我想在每个页面上添加一个表格,您可以多次调用doc.autoTable。这是一个简单的例子:



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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

要使用jsPDF-Autotable在每个页面上显示表格标题,我们可以使用以下选项。

showHead: 'everyPage'

官方jsPDF-AutoTable文档链接 https://github.com/simonbengtsson/jsPDF-AutoTable#other-options