如何使用 JavaScript 将 HTML 页面导出为 PDF?

htmljavascriptweb developmentfront end technology

可以使用 JavaScript 工具(如 jsPDF 或 html2pdf.js)将 HTML 页面转换为 PDF 文件。这些库使直接从网页 HTML 文本生成 PDF 文件变得更加容易。当 HTML 元素及其相应的样式被捕获并转换为 PDF 格式时,用户可以选择下载或保存完成的 PDF。通过将必要的 JavaScript 代码插入 Web 应用程序,可以轻松启用此功能并提供可打印、离线内容表示的便利。此功能可用于生成报告、生成可打印版本的网络资料,以及为消费者提供您网站的离线文档版本。

使用的方法

  • jsPDF 方法

  • html2pdf.js 方法

jsPDF 方法

开发人员使用 jsPDF 方法中的 jsPDF 库,使用 JavaScript 将 HTML 页面导出为 PDF。他们可以通过将 jsPDF 库嵌入 HTML 文件中,在客户端动态创建 PDF 文档。要将文本、照片和表格等内容添加到 PDF,必须创建 jsPDF 的新实例并使用其方法。HTML 页面的内容首先转换为画布,然后使用 jsPDF 的 addImage() 方法添加到 PDF。最后,您可以使用 save() 或 output() 方法下载或保存创建的 PDF。此方法可以更好地控制内容更改,因此适用于创建 PDF 时需要特定样式和内容组织的情况。

算法

  • HTML 文件应包含 jsPDF 库 − 您必须在 HTML 文件中包括该库才能使用 jsPDF。为此,请提供指向 jsPDF 库文件的脚本标记。

  • 创建 jsPDF 的新实例并根据需要进行配置− 合并后,生成 jsPDF 对象的新实例。根据您的需要,您还可以为页面大小、方向、边距和其他方面建立配置。

  • 选择 HTML 元素或从 HTML 字符串创建 DOM 元素 − 必须找到要导出为 PDF 的 HTML 信息。为了实现这一点,请从 DOM 中选择一个现有的 HTML 元素,或者使用 JavaScript 将 HTML 字符串转换为 DOM 元素。

  • 使用 HTML 到画布库将所选 HTML 转换为画布(jsPDF 可选) - 在此阶段,您可以选择是否使用外部库(如 html2canvas)将所选 HTML 内容转换为画布元素。此过程可确保在最终 PDF 产品中准确呈现复杂的 HTML 元素。

  • 利用 jsPDF addImage() 方法将画布添加到 PDF - 使用 jsPDF addImage() 方法,您现在可以将根据 HTML 内容创建的画布添加到 PDF 文件。此技术使用输入将画布元素插入 PDF。

  • 如有必要,使用其他 jsPDF 方法向 PDF 添加更多内容 - 除了已转换的 HTML 内容外,您还可以使用其他 jsPDF 方法向 PDF 添加更多内容,例如文本、照片或形状。这样您就可以进一步个性化 PDF 文件。

  • 利用 jsPDF save() 或 output() 方法下载或存储 PDF 文件 − 准备好 PDF 后,用户的设备可以使用 save() 方法开始下载。另一种方法是通过 output() 方法将 PDF 作为数据 URI 检索,然后可以将其用于各种目的,例如在浏览器中直接显示 PDF。

html2pdf.js 方法

html2pdf.js 解决方案利用 html2pdf.js 包使用 JavaScript 将 HTML 页面导出为 PDF。使用此库,程序员可以动态地将 HTML 组件的子集转换为 PDF 文件。他们使用 JavaScript 选择必要的 HTML 内容并将其与任何进一步的自定义项一起传递给 html2pdf() 函数。转换随后由库处理,该库还记录内容的组织和呈现。通过自动翻译 HTML 文本并减少手动操作,它简化了 PDF 生成过程。用户可以使用普通浏览器功能在创建 PDF 后快速下载或保存它。想要简单解决方案而又不想进行低级 PDF 内容操作的开发人员应该使用此方法。

算法

  • 您的 HTML 文件应该包含 html2pdf.js 库。

  • 选择要转换为 PDF 的 HTML 元素。

  • 创建一个命令行函数来启动 PDF 转换。

  • 函数内部 −

  • 使用 JavaScript 中的 DOM 操作选择 HTML 元素。

  • 将选定的元素和任何其他配置提供给 html2pdf() 函数。

  • 该库会将 HTML 材料转换为 PDF 格式,同时保留 HTML 的格式和组织。

  • 创建 PDF 文件并将其保存到您的计算机内存。

  • 允许用户使用链接/按钮下载或保存 PDF。

  • 当用户选择下载或保存选项时,使用常规浏览器下载方法启动 PDF 下载。

示例

<!DOCTYPE html>
<html>
<head>
   <title>Export HTML to PDF</title>
   <script src="path/to/html2pdf.js"></script>
</head>
<body>
   <div id="content">
      <h1>Hello, this will be exported as a PDF!</h1>
      <p>This is some sample content that will be in the PDF.</p>
   </div>

   <button id="exportButton">Export to PDF</button>

   <script>
      function exportHTMLtoPDF() {
         let htmlElement = document.getElementById('content');

         html2pdf().from(htmlElement).save('exported_file.pdf');
      }

      document.getElementById('exportButton').addEventListener('click', exportHTMLtoPDF);
   </script>
</body>
</html>

结论

总之,开发人员可以使用 JavaScript 利用 jsPDF 和 html2pdf.js 方法将 HTML 页面导出为 PDF。在要求精确格式和内容安排的情况下,jsPDF 技术可以更好地控制内容操作。另一方面,html2pdf.js 技术提供了一种更简单的解决方案,因为它会自动将 HTML 信息转换为 PDF,并且需要更少的手动干预。开发人员可以根据自己的要求和偏好选择最佳策略。通过将 HTML 导出为 PDF,可以生成打印信息、报告和离线文档,从而提高网页的可用性和整体用户体验。


相关文章