在现代数据可视化领域,ECharts 是一个备受欢迎的图表库,它提供了丰富的图表类型和灵活的配置选项。然而,有时候我们需要的不仅仅是图表本身,还希望将图表导出为 PDF 格式,以便于分享或用于正式文档中。本文将详细介绍如何使用 ECharts 的导出功能来轻松生成 PDF 图表,让你的工作更加高效。
一、准备工作
在开始之前,请确保你的项目中已经包含了 ECharts 库。你可以通过以下链接下载 ECharts 的最新版本,或者使用 CDN 链接引入:
在你的 HTML 文件中,你可以这样引入 ECharts:
<script src="https://cdn.jsdelivr.net/npm/echarts@5.0.0/dist/echarts.min.js"></script>
二、创建基本的 ECharts 图表
首先,你需要创建一个基本的 ECharts 图表。以下是一个简单的柱状图示例:
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: 'ECharts 柱状图示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
myChart.setOption(option);
</script>
三、使用 ECharts 导出 PDF 功能
ECharts 提供了 getDom 方法来获取图表的 DOM 元素,然后我们可以使用 html2canvas 和 fileSaver 这两个库来实现图表的导出功能。
首先,你需要在项目中引入这两个库:
<script src="https://cdn.jsdelivr.net/npm/html2canvas@1.3.2/dist/html2canvas.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js"></script>
然后,你可以使用以下代码来导出 PDF:
// 导出 PDF 的函数
function exportChartToPDF() {
var chartDom = myChart.getDom();
html2canvas(chartDom).then(canvas => {
var contentWidth = canvas.width;
var contentHeight = canvas.height;
// 一页 PDF 可以放两个图表
var pageHeight = contentHeight;
// 每页的内容
var PDFOption = {
margin: [0, 0],
pagesize: 'A4',
content: canvas.toDataURL('image/jpeg'),
defaultStyle: {
font: {
size: 14,
}
},
onCreatePage: function (data, canvas, pdf) {
pdf.addPage();
}
};
var pdf = new jspdf.jsPDF();
pdf.addImage(PDFOption.content, 'JPEG', 15, 15, contentWidth, contentHeight);
pdf.save('chart.pdf');
});
}
// 调用导出函数
exportChartToPDF();
四、总结
通过上述步骤,你就可以轻松地将 ECharts 图表导出为 PDF 格式了。这不仅能够节省你的时间和精力,还能够提高你的工作效率。记住,ECharts 是一个功能强大的图表库,它还有很多其他的特性和配置选项等待你去探索。希望本文能帮助你更好地使用 ECharts!
