首页 > 解决方案 > 使用 jsPDF 将 Angular10 反应式表单转换为 PDF

问题描述

我正在研究角度反应形式,我正在尝试使用 Html2Canvas 和 jsPDF 将整个 HTML 表单转换为 PDF。

我的表单是可滚动的,可见的部分显示为白色,不可见的部分显示为灰色。

有什么办法可以显示整个表格而不变灰?

我试过谷歌搜索,但它没有显示在任何地方。

const data = document.getElementById('contentToConvert'); 
const dataHeight = data.clientHeight; 
const dataWidth = data.clientWidth; 
const ratio = dataHeight / dataWidth; 

html2canvas(data, {scale: 1}).then(canvas => { 
     const contentDataURL = canvas.toDataURL('image/jpeg'); 
     const pdf = new jsPDF('p', 'mm', 'a4'); 
     // A4 size page of PDF 
     const width = pdf.internal.pageSize.getWidth(); 
     let height = pdf.internal.pageSize.getHeight(); 
     height = ratio * width; 
     pdf.addImage(contentDataURL, 'JPEG', 0, 0, width - 20, height); 
     pdf.save('new-file.pdf'); 
});

感谢解决方案的帮助

标签: angularangular-reactive-formsjspdfhtml2canvasangular10

解决方案


推荐阅读