我有一个基于动态数据定义的html表。桌子上有一个脚,脚和脚。 tfoot被映射到我的json中的特定值。但是,当使用JSPDF Autotable并将其导出为PDF时,不会显示页脚。我看到了信息,但没有showfoot选项的代码示例,并且在doc.autotable之后甚至在样式选项之后都尝试过,但无济于事。页脚未导出。我敢肯定它非常简单-但我似乎无法弄清楚。注意:我不希望JSDPF Autotable“创建”页脚-它已定义,它是表的一部分-我只是希望将其呈现在pdf上。我在2016年发现了一个旧的stackoverflow,其中提到了这一点-Simon B.评论说它将添加-该主题已关闭-但我在任何地方都找不到代码示例。
[这是我的jspdf可自动执行的代码,我曾尝试在其中显示“页脚”-但无济于事。任何帮助表示赞赏。
<script>
function generate() {
//Creation of PDF document
let doc = new jsPDF('l', 'pt');
const totalPagesExp = '{total_pages_count_string}';
var elem = document.getElementById('${pm.info.requestId}');
var data = doc.autoTableHtmlToJson(elem);
doc.autoTable(data.columns, data.rows, {
headStyles: {
cellWidth: 'wrap',
fontSize: 10,
lineWidth: 0,
lineColor: [0, 0, 0],
textColor: [0, 0, 0],
fillColor: [255,255,255]
},
bodyStyles: {
cellWidth: 'wrap',
fontSize: 8,
lineWidth: 0,
lineColor: [0, 0, 0],
textColor: [0, 0, 0],
fillColor: [255,255,255]
},
footStyles: {
cellWidth: 'wrap',
fontSize: 10,
lineWidth: 0,
lineColor: [0, 0, 0],
textColor: [0, 0, 0],
fillColor: [211,211,211]
},
//Formatting of pages
didDrawPage: function (data) {
//Summa logo on top of the page
doc.addImage('${pm.variables.get("summa")}', 'PNG', 20, 20, 145, 42.63);
//Font sizes of report information
doc.setFontSize(8);
//Report information: portfolio name, knowledge time and report time
doc.text(35, 75, '${pm.variables.get("portfolioName")}');
doc.text(35, 85, '${pm.variables.get("reportTime")}');
doc.text(35, 95, '${pm.variables.get("knowledgeTime")}');
//Page numbers
var str = "Page " + doc.internal.getNumberOfPages()
if (typeof doc.putTotalPages === 'function') {
str = str + " of " + totalPagesExp;
};
//Page size
var pageSize = doc.internal.pageSize;
var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight();
doc.text('Theme "plain"', 14, 16);
},
margin: {
top: 100
},
});
//Number of pages
if (typeof doc.putTotalPages === 'function') {
doc.putTotalPages(totalPagesExp);
},
//--------------------------------------------------------------------------------------------------START
//Change name of report if desired
doc.save('${pm.info.requestName}${pm.variables.get("reportTime")}.pdf');
//--------------------------------------------------------------------------------------------------END
}
不确定您是否已成功将页脚总计导出到jspdf。经过一点点调整,我就开始工作了。
将var elem = document.getElementById('${pm.info.requestId}');
替换为var elem = document.getElementById('NAME');
并将doc.autoTable(data.columns, data.rows, {
替换为doc.autoTable({html: '#NAME',