如何在 jspdf-autoTable 中获取 lastAutoTable 的 finalE
How to get the finalY of lastAutoTable in jspdf-autoTable
我正在使用 angular 9.I 需要将 html table 的某些内容在 table 的上方和下方转换为 pdf。我正在使用 jspdf-autotable。我按照 link https://github.com/simonbengtsson/jsPDF-AutoTable/blob/master/examples/examples.js 中的示例进行操作,我能够编写标题然后生成 table.The 问题是当我需要添加一些内容时table.
下方的文本行
我的代码如下。
generatePdf(){
const doc = new jsPDF();
doc.setFontSize(18)
doc.text('ATTENDANCE REPORT FOR DEPOT - '+this.depotId, 14, 22);
autoTable(doc, { html: '#report-per-depot',startY: 30, });
doc.text(" ", 14, doc.lastAutoTable.finalY + 10)
doc.save('AttandancePerDepot.pdf');
}
我得到的错误是
Property 'lastAutoTable' does not exist on type 'jsPDF'.
我尝试将 lastAutoTable 导入为,从 'jspdf-autotable' 导入 lastAutoTable;
我没有显示任何错误,但我不确定如何从中获取 finalY。
lastAutoTable(doc,{});
上面没有显示错误,但它的 return 类型是 void.So 这就是我卡住的地方。
如何获得 angular 9 或 10 的最终位置?
您收到此错误是因为 Typescript 是一种强类型语言,并且 lastAutoTable 未在 index.d.ts 文件(在 jsPdf 节点模块下)中定义。
下面是解决此错误并获取最终 Y 值的小技巧。
import jsPDF from 'jspdf';
import 'jspdf-autotable';
let finalY = (doc as any).lastAutoTable.finalY;
这在我的 Angular 10 项目中对我有用
在 angular 12(打字稿)
import jsPDF from 'jspdf'
import autoTable from 'jspdf-autotable'
然后在方法中
crearPDF() {
const doc = new jsPDF();
let finalY = 0;
for (const key in this.entradasIndentificaciones) {
if (Object.prototype.hasOwnProperty.call(this.entradasIndentificaciones, key)) {
const element = this.entradasIndentificaciones[key];
doc.text(element, 30, finalY + 10);
autoTable(doc, { html: '#tableOn-' + key });
finalY = (doc as any).lastAutoTable.finalY;
}
}
console.debug("Guardando");
doc.save("Report_.pdf");
}
尊重
我正在使用 angular 9.I 需要将 html table 的某些内容在 table 的上方和下方转换为 pdf。我正在使用 jspdf-autotable。我按照 link https://github.com/simonbengtsson/jsPDF-AutoTable/blob/master/examples/examples.js 中的示例进行操作,我能够编写标题然后生成 table.The 问题是当我需要添加一些内容时table.
下方的文本行我的代码如下。
generatePdf(){
const doc = new jsPDF();
doc.setFontSize(18)
doc.text('ATTENDANCE REPORT FOR DEPOT - '+this.depotId, 14, 22);
autoTable(doc, { html: '#report-per-depot',startY: 30, });
doc.text(" ", 14, doc.lastAutoTable.finalY + 10)
doc.save('AttandancePerDepot.pdf');
}
我得到的错误是
Property 'lastAutoTable' does not exist on type 'jsPDF'.
我尝试将 lastAutoTable 导入为,从 'jspdf-autotable' 导入 lastAutoTable;
我没有显示任何错误,但我不确定如何从中获取 finalY。
lastAutoTable(doc,{});
上面没有显示错误,但它的 return 类型是 void.So 这就是我卡住的地方。 如何获得 angular 9 或 10 的最终位置?
您收到此错误是因为 Typescript 是一种强类型语言,并且 lastAutoTable 未在 index.d.ts 文件(在 jsPdf 节点模块下)中定义。
下面是解决此错误并获取最终 Y 值的小技巧。
import jsPDF from 'jspdf';
import 'jspdf-autotable';
let finalY = (doc as any).lastAutoTable.finalY;
这在我的 Angular 10 项目中对我有用
在 angular 12(打字稿)
import jsPDF from 'jspdf'
import autoTable from 'jspdf-autotable'
然后在方法中
crearPDF() {
const doc = new jsPDF();
let finalY = 0;
for (const key in this.entradasIndentificaciones) {
if (Object.prototype.hasOwnProperty.call(this.entradasIndentificaciones, key)) {
const element = this.entradasIndentificaciones[key];
doc.text(element, 30, finalY + 10);
autoTable(doc, { html: '#tableOn-' + key });
finalY = (doc as any).lastAutoTable.finalY;
}
}
console.debug("Guardando");
doc.save("Report_.pdf");
}
尊重