HTML转换成PDF的解决方案

·  阅读 246

背景:需要将一份试卷中的题目富文本导出为PDF,需要具有可配置的页首页尾,以及图片水印。

1、在Google查找了一番,可以使用html-pdf实现转换。工具库有了,接下来开始说思路。

2、由于可能有其它业务也需要实现类似的需求,这里可以作为一个单独的工具服务来处理业务逻辑,接收一段富文本html数据,转换成PDF文件,上传到七牛云存储,返回下载链接给客户端。由于数据可能较大,导出时间会比较久,可以使用异步生成,先返回链接,客户端通过head请求判断文件是否存在。

3、值得一说的是,在多个题目(多个完整的html结构)中引入的外链css样式和js脚本都会反复加载,需要特别处理下,不然会是一个非常耗时的操作。将html关键内容用cheerio解析提取,拼装内容部分,最后单独引入需要的JS和CSS文件,可以节省很多http请求时间。

分类:
后端
标签: