【发布时间】:2018-06-03 00:44:20
【问题描述】:
我想在客户端代码中将 html 文件转换为 PDF 文件。步骤是:
- 获取指向 html 文件的链接以响应 API。
- 将该文件转换为 PDF 文件。
- 显示链接以查看/下载该 PDF 文件。
经过一番搜索,我发现我应该使用 jsPDF 或 pdfmake,但在这些中我只能手动编写内容,但无法将 html 文件转换为 PDF。
let element = <HTMLScriptElement>document.getElementsByClassName("pvtTable")[0];
html2canvas(element)
.then((canvas: any) => {
doc.addImage(canvas.toDataURL("image/jpeg"), "JPEG", 0, 50, doc.internal.pageSize.width, element.offsetHeight / 5);
doc.save(`Report-${Date.now()}.pdf`);
})
这里我无法使用getElementsByClassName() 方法获取内容。如何在不使用它的情况下转换文件。
【问题讨论】:
-
你能用一些 html 更新帖子吗?我想澄清一下你是否试图将自定义组件导出到 PDF
-
@SamuelJMathew 实际上不是组件。我只是获取存储在网上某处的文件的 URL。该文件是 html 扩展名。我必须将其转换为 PDF。
-
此代码不足以理解您的要求,请提供mcve
-
@NareshMobarsa
cannot get the content of by using getElementsByClassName() method这句话很有启发性。这意味着您可能试图在呈现之前获取该表格元素。尝试将html2canvas(element)调用包装在一个函数中,然后仅在加载 HTML 文件并将其放入 pvtTable[0] 后调用该函数。
标签: javascript angular typescript