office插件探索和实现 | 项目复盘

208 阅读2分钟

项目简介:

  • 需要一个很长的html页面转成pdf输出(大概是要上150多页)
  • 技术攻坚

项目方案:

  • 这属于一个综合性质的报告,所以需要的页面很多
  • 技术解决方案 共有四种

第一种 纯前端方法

jsPDF
1.网络上的代码基本上都是 一个大的canvas以A4的长进行切割,在这个项目中canvas崩了
2.因为页面过多导致canvas崩溃了
3.所以 我有这样的想法 对每个页面截图 然后转成canvas jsPDF中可以以一个个canvas来添加页面

这是目前的线上版本

第二种 java模板语言

poi-tl

  1. 这是java的方案 先进行模板替换然后转pdf
  2. 之后我会进行协调

第三种 用node

officegen和docxtemplater

  1. 类似java的解决方案 不过会更快 前端也可以写一下

office插件

  1. 在我没事的时候 公司大佬推荐了我office.js这东西 这是office官方出的api
  2. 这个文档我就看了两天 对新人来说 不是很友好
  3. 实现思路 这个插件可以进行的打包然后自动化运行 需要用node启动office然后就可以自动让office处理这个东西

项目实践

  1. 前端解决方案是没什么好说的
  2. 下面我说一下office插件解决方案

office插件里面最重要的是就是 搜索 和 异步

先搜索包含的特定字符串的内容然然后替换 在复制word的页面的时候需要用api自带的getOoml来获取信息

总结

  1. 对于学号英文 看office文档太痛苦了

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情