javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js html页面转pdf

js将html页面转为pdf两种方法

作者:low sapkj

最近遇到的需求,把html转成pdf文件下载导出,下面这篇文章主要给大家介绍了关于js将html页面转为pdf的两种方法,文中给出了详细的代码示例,需要的朋友可以参考下

js将html页面转为pdf两种方法

在 JavaScript 中,可以使用以下两种方法将 HTML 页面转换为 PDF 文件:

下面是使用 jsPDF 的例子:

// 引入 jsPDF 库
import jsPDF from 'jspdf';
// 创建一个新的 jsPDF 实例
const pdf = new jsPDF();
// 设置文档的页面大小为 A4 纸张
pdf.setProperties({
  title: 'HTML to PDF',
  subject: 'Generated PDF file using jsPDF library',
  author: 'Your Name',
  keywords: 'html, pdf, javascript',
  creator: 'Your Name'
});
// 使用 html2canvas 库将 HTML 页面转换为 canvas 元素
html2canvas(document.querySelector('#html-to-pdf')).then(canvas => {
  // 将 canvas 元素转换为图像数据
  const imgData = canvas.toDataURL('image/png');
  // 将图像数据添加到 PDF 文档中
  pdf.addImage(imgData, 'PNG', 0, 0);
  // 下载 PDF 文件
  pdf.save('html-to-pdf.pdf');
});

使用 window.print() 方法的例子:

// 在点击按钮时触发打印功能
document.querySelector('#btn-print').addEventListener('click', () => {
  window.print();
});

在浏览器中,你可以使用快捷键 Ctrl + P 或在浏览器菜单中点击“打印”来打开浏览器的打印对话框,然后选择“保存为 PDF”即可将当前页面保存为 PDF 文件。

附:js实现html转pdf并下载

要实现将 HTML 转换为 PDF 并下载需要使用 jsPDF 和 html2canvas 库。 以下是一个示例代码,它将 HTML 元素(id为content)转换为 PDF 并下载:

<!-- html -->
<div id="content">
  <h1>Hello, World!</h1>
  <p>This is a test page.</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
</div>
<button onclick="generatePDF()">Download PDF</button>
// javascript
function generatePDF() {
  // 获取要转换为 PDF 的 HTML 元素
  const element = document.getElementById("content");
  // 使用html2canvas将 HTML 元素转换为 Canvas
  html2canvas(element).then(canvas => {
    // 获取Canvas的图像数据
    const imgData = canvas.toDataURL('image/png');
    // 创建一个新的 jsPDF 实例
    const pdf = new jsPDF();
    // 将Canvas转换为PDF
    pdf.addImage(imgData, 'PNG', 0, 0);
    // 下载PDF文件
    pdf.save("test.pdf");
  });
}

以上代码会在按钮被点击时触发,将 HTML 元素转换为 Canvas,然后将 Canvas 转换为 PDF 并下载。

总结

到此这篇关于js将html页面转为pdf两种方法的文章就介绍到这了,更多相关js html页面转pdf内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文