在angular7中将HTML页面转换为PDF

时间:2019-08-02 11:02:26

标签: angular pdf-generation

我的目的是在单击按钮时将HTML页面转换为PDF

我通过如下方式尝试了它: 1.html2Canvas + jspdf

 html2canvas(data).then(canvas => { 
const contentDataURL = canvas.toDataURL('image/png');
    }

我得到的输出是

contentDataUrl  = data:,

或者我这样写:

public captureScreen() { 
 var data = document.getElementById("print"); 
   html2canvas(data).then(canvas => { 
    var imgWidth = 208; 
    var pageHeight = 295; 
    var imgHeight = canvas.height * imgWidth / canvas.width; 
    var heightLeft = imgHeight; 
    const contentDataURL = canvas.toDataURL('image/png') 
    let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF 
    var position = 0; 
    pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) 
    pdf.save('MYPdf.pdf'); // Generated PDF 
  }); 
 }

我遇到类似以下错误:

Uncaught (in promise): Error: Supplied Data is not a valid base64-String jsPDF.convertStringToImageData
Error: Supplied Data is not a valid base64-String jsPDF.convertStringToImageData
at Object.x.convertStringToImageData

我需要一种有效的方法将角HTML页面转换为PDF,并建议我是否还有其他更好的方法

注意:我在该html页面中使用了Angular材质和嵌套组件。

0 个答案:

没有答案