html 生成pdf 有空白页_html2canvas + jspdf 实现 html 转 pdf
时间: 2024-01-17 16:04:30 浏览: 137
可以使用html2canvas和jspdf库来实现html转pdf。
首先,需要在html文件中引入html2canvas和jspdf的js文件:
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script>
```
然后,在需要转换成pdf的元素上添加id属性,例如:
```html
<div id="pdf-content">
<!-- 添加需要转换成pdf的内容 -->
</div>
```
接着,在js文件中添加以下代码:
```javascript
// 获取需要转换成pdf的元素
var element = document.getElementById('pdf-content');
// 使用html2canvas将元素转换成canvas
html2canvas(element).then(function(canvas) {
// 创建一个空的pdf文档
var pdf = new jsPDF('p', 'mm', 'a4');
// 将canvas转换成图片,并添加到pdf文档中
pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 0, 0, 211, 298);
// 保存pdf文档
pdf.save('filename.pdf');
});
```
这段代码会将元素转换成canvas,然后将canvas转换成图片,并添加到pdf文档中,最后保存pdf文档。
需要注意的是,html2canvas有一些限制,例如不支持跨域图片等,需要根据具体情况进行调整。另外,由于jsPDF默认使用的是横向排版,如果需要使用纵向排版,可以将第一个参数改为'p'。
阅读全文