如何用Angular视图中的内容创建PDF?

时间:2019-10-22 13:28:22

标签: html angular typescript pdf export-to-pdf

我有一个使用source code来渲染一些图形的Angular应用,例如:

ngx-charts

现在,我想将此视图及其图形导出为PDF文件,但是目前我不确定如何解决此问题。

是否有一种方法可以将该视图的HTML导出为PDF,或者是否有其他方法可以基于视图生成PDF文件?

附加问题:假设我必须渲染视图并生成PDF后端,而无需用户干预,您将如何处理?

1 个答案:

答案 0 :(得分:0)

到目前为止,您最有机会使用此库:jsPDF

或者您可以尝试通过以下代码进行操作:

print(){  
  var canvas = document.getElementById(id) as HTMLCanvasElement;
  var dataURL = canvas.toDataURL();
  let popupWin,printContents;
  popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
  popupWin.document.open();
  popupWin.document.write(`
    <html>
      <head>
        <title>${title}</title>
        <style>
        </style>
      </head>
  <body width="100%" height"="100%" onload="window.print();window.close()"><img src="${dataURL}" width="600px" height="auto"></body>
    </html>`
  );
  popupWin.document.close();
  }

简而言之,创建画布并将其打印出来(并另存为pdf)