html导出pdf 带echart
时间: 2023-08-27 09:04:59 浏览: 191
如果想要将 HTML 中的 Echart 图表导出为 PDF,可以使用一些第三方库,比如 jsPDF 和 html2canvas。
1. 首先需要下载这两个库,可以在官网上下载,也可以使用 npm 安装。
```bash
npm install jspdf html2canvas --save
```
2. 在 HTML 中引入这两个库,并且在需要导出的按钮或者其他元素上添加点击事件。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Export Echarts to PDF</title>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.7.0/echarts.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
</head>
<body>
<div id="chart" style="width: 800px; height: 400px;"></div>
<button id="exportBtn">Export to PDF</button>
<script>
var chart = echarts.init(document.getElementById('chart'));
var option = {
title: {
text: 'Echarts Example'
},
tooltip: {},
legend: {
data:['Sales']
},
xAxis: {
data: ["Shirt","Cardign","Chiffon shirt","Pants","Heels","Socks"]
},
yAxis: {},
series: [{
name: 'Sales',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
chart.setOption(option);
document.getElementById('exportBtn').addEventListener('click', function() {
html2canvas(document.getElementById('chart'), {
onrendered: function(canvas) {
var imgData = canvas.toDataURL('image/png');
var pdf = new jsPDF();
pdf.addImage(imgData, 'PNG', 0, 0);
pdf.save('echarts.pdf');
}
});
});
</script>
</body>
</html>
```
3. 在点击事件中,使用 html2canvas 将 Echart 转换为 Canvas,然后将 Canvas 转换为图片,最后使用 jsPDF 将图片添加到 PDF 中并导出。
注意事项:
- 在使用 html2canvas 时,需要将 Echart 的容器元素传入,否则会导致转换失败。
- 在使用 jsPDF 时,需要注意图片的格式,一般情况下使用 PNG 格式即可。
- 使用 jsPDF 导出 PDF 时,需要使用 save 方法将 PDF 文件保存到本地。
阅读全文