Skip to content

pdfmake导出任意pdf文件

【目标】

此需求实现困难的模块属于pdf导出功能。由于导出数据为动态内容,文档排版不固定,并且echarts图表、table表格数据等在内容排版以及分页展示情况较为复杂,不能用常规的模板进行导出,经过深度评估后,以及查阅资料,最终确认借助第三方插件pdfmake进行实现。

【行动步骤】

  • 1.安装 pdfmake 插件;
  • 2.通过阅读pdfmake英文文档 http://pdfmake.org/#/ 进行实现具体功能;
  • 3.需要对每个模块通过函数进行一一封装(一级标题H1,二级标题H2,三级标题H3,图片Image, 两边对齐,下划线,两边对齐,图表,表格等),比如echarts图表还需要进行vue插件预渲染转为image才能添加到文档中;
    1. 通过异步接口调用进行数据加载渲染(此阶段为loading状态,实际页面不展示);
    1. 最终生成pdf文档且自动下载。

【结果】

通过几种方案的对比,此种实现方案生成的pdf文档效果最佳(其它方案有图片模糊,分页之后内容缺失,排版错乱等问题),实现起来也没有那么复杂,最终得到用户的高度认可(用户对各个细节扣的非常严格)。【价值】对于动态导出复杂文档的实现具有很重要的参考与指导意义。