生成pdf文件,有两种实现的方法,一种是直接使用text生成pdf,不需要获取元素,一种是获取html元素,通过元素生成;通过对这两种方法的使用,我最终选择了使用text生成。在此过程中使用到了padMake这个js库(https://www.npmjs.com/package/pdfmakehttps://www.npmjs.com/package/pdfmake)。具体安装估计大家都能看懂,主要是咱们中国人使用的时候要生成中文的pdf,然而这个库里边集成的字体是英文常见的Roboto字体,这就导致生成pdf文件是乱码的。接下来就主要围绕解决乱码问题进行流程梳理。
首先,我们既然要生成中文,那就得有一个中文字体(比如我项目里的‘微软雅黑.ttf’),网络上搜下载好自己要生成的pdf字体。
其次,把下载好的字体,打包成js库能够使用的js文件。这一步要使用到pdfmake-master的源代码(https://github.com/bpampuch/pdfmake),下载好这个工程执行以下操作:
- 进入工程的根目录,安装gulp,使用命令为 npm install gulp --save-dev
- 安装pdfmake的依赖包,指令 npm install
- 把下载好的字体文件放在工程里的 examples/fonts 路径下,因为中文字体包比较大,不建议打包多个字体包