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

问题描述 投票:0回答:2

我将在 pdf 上有一个灵活的表格...所以如果它很大,autoTable 会将其拆分为不同的页面...对吗?在这一点上,如果表格将被分割在不同的页面中,我想在每个页面上放置一个表格作为标题......

我尝试了钩子 beforePageContentautoTableAddPageContent 但我无法使其工作......我在里面调用 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 一起使用,所以了解基础知识

谢谢你

jspdf jspdf-autotable
2个回答
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>


0
投票

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

showHead: 'everyPage'

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

© www.soinside.com 2019 - 2024. All rights reserved.