我有一个近 200 行的格式化 html 表格,我必须将其导出为 PDF。目前我正在使用 jsPDF 库。
makePdf() {
var elWidth = this.el.nativeElement.getBoundingClientRect().width
var elHeight = this.el.nativeElement.getBoundingClientRect().height
this.loadingSubject.next(true)
this.zone.run(() => {
let pdf = new jsPDF({
orientation: 'l',
unit: 'px',
format: [elWidth, elHeight],
compress:true
});
pdf.html(element.nativeElement, {
callback: (pdf) => {
pdf.save('sample.pdf');
}
})
})
}
现在保存为 pdf,默认情况下分隔高度,导致行切入下一页,如下图所示。
我想将行分成 13 行,并在每 13 行中附加 table、thead 标签,使它们在每个页面中分开表格。
对 el.nativeElement 的任何更改都会影响 DOM。有没有什么替代方案可以让我获取 html 并更改 html 而无需以角度操作 DOM??
你想用cloneNode克隆元素: https://developer.mozilla.org/en-US/docs/Web/API/Node/cloneNode
const clone = element.cloneNode(true)
获取副本并根据需要进行修改