I am trying to create a PDF
from my HTML using pdfMake
and Angular
(I’ve also tried jsPDF
and couldn’t get它也可以工作)。我尝试在我的 Angular 控制器中使用以下代码:
var blob = new Blob([document.getElementById('exportable').innerHTML])
var docDefinition = {
content: [blob]
}
pdfMake.createPdf(docDefinition).open();
但我收到以下错误:
无法识别的文档结构:{”_margin”:null}“。
我的 HTML 由 div 中的两个简单表格组成 exportable
。
如果有人知道此问题的解决方案,或其他从 Angular 将 HTML 转换为 PDF 的方法,请提供帮助。
非常感谢任何帮助!
原文由 Rani Radcliff 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,我想通了。
您将需要 html2canvas 和 pdfmake 。你不需要在你的 app.js 中做任何注入,只需包含在你的脚本标签中
在要为其创建 PDF 的 div 上,添加一个 ID 名称,如下所示:
在 Angular 控制器中,在调用 html2canvas 时使用 div 的 id:
使用 toDataURL() 将画布更改为图像
然后在您的 docDefinition for pdfmake 中将图像分配给内容。
控制器中完成的代码如下所示:
我希望这可以帮助别人。编码愉快!