使用 JavaScript 将 html 导出为 PDF

Ist*_*ván 5 html javascript pdf jspdf pdfmake

我想用 JavaScript 将 HTML 导出为 PDF,我看到了jsPDFpdfMake等库,但它们非常有限。例如,没有一个我可以导出 HTML 元素,例如<hr>,使用 jsPDF 样式非常有限,我看到了这个问题,但答案对我不起作用,使用 pdfMake 我无法下载 pdf,只能使用chrome

Dav*_*pez 1

如果您可以从 URL 检索 HTML,您可能需要查看我写的解释如何执行此操作的答案。

例子:

https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=show
Run Code Online (Sandbox Code Playgroud)

在 HTML 中放置一个锚点来显示 PDF 或在 HTML 中下载它非常容易。

该锚点将显示从页面转换的 PDF https://www.github.com

<a href="https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=show" target="_blank">Show PDF</a>
Run Code Online (Sandbox Code Playgroud)

这个将下载它:

<a href="https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=download&file_name=my_pdf">Download PDF</a>
Run Code Online (Sandbox Code Playgroud)

如果您想使用 JavaScript 进行尝试,您可以创建一个 HTML 按钮并在单击事件中下载 PDF。例子:

HTML:

<button type="button" id="download-pdf-button">Download the PDF</button>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

document.getElementById("download-pdf-button").addEventListener("click", function() {
    var link = document.createElement('a');
    link.href = 'https://dhtml2pdf.herokuapp.com/api.php?url=https://www.github.com&result_type=download';
    link.download = 'file.pdf';
    link.dispatchEvent(new MouseEvent('click'));
});
Run Code Online (Sandbox Code Playgroud)

请参阅 Github 中的项目

希望能帮助到你。