jquery 前端有比较方便的预览修改 word 并导出的插件吗,能打包内网使用的

2021-10-15 09:41:08 +08:00
 liuzh365

接到一个需求,大概描述是这样:有一些 word 文件模板,比如是个会议纪要模板,文件的格式是固定的,但每次开会的时间、地点和参会人员等不一样。用户在模板文件里需要替换的地方预先设置好占位符,类似${x}、${title},在系统上传文件模板。需要用到这些模板的时候,用户在前端选择模板文件,后端发送到前端,前端的插件识别模板,以预览的形式打开,有占位符的地方可以修改,其他部分不能修改。点击保存可以导出文件。

以前实习的时候看到过类似的,不过时间过去很久不记得了。。

1810 次点击
所在节点    JavaScript
7 条回复
InternetExplorer
2021-10-15 09:44:43 +08:00
让后端去替换 :doge:
lower
2021-10-15 09:52:36 +08:00
前端搞的话,好像只能用那种 IE 时代的 ActiveX 控件,调本地的 office 工具
1cming
2021-10-15 11:39:03 +08:00
正好之前做过类似的系统
前端 jquery+angular
主要解析转换逻辑在后端
大致流程如下:
- 1.占位符约定,正则解析
占位符分两类:
一类是通用的比如 inuput 、checkbox ;
一类是业务需要关注的,用于单独解析,目的是给 input 赋予 name,表单提交到 server 时方便处理;
- 2.模板文件
原始输入的模板文件类型为 doc/xls 类型;
通过 apose+jsoup 将模板转换成 html 文本;
编辑时 html 文本匹配正则替换成页面元素
比如$输入;转换成<input>;
- 3.录入内容替换
提交 form 单独处理;
使用 apose+正则 replace 成<input value='录入内容'>
- 4.html 转换成 word/pdf
liuzh365
2021-10-15 12:13:24 +08:00
@1cming 谢谢,跟我想到 planb 一样,改成用表单的方式实现
liuzh365
2021-10-15 14:33:51 +08:00
@1cming 第 2 点我不太清楚:是在后端转成 html 文本,然后将 html 文本传到前端吗?
liuzh365
2021-10-15 14:35:41 +08:00
@1cming 第 3 点替换完之后,是 json 把信息传到后端,还是整个 html 文本传到后端呢?
1cming
2021-10-15 16:39:31 +08:00
@liuzh365
是的,原始输入是 word 或者 excel 模板,上传到后台后,server 解析生成 html 展示到页面,业务可以直接在 html 上填数,填完后提交到 server,然后由 server 把 form 数据(仅传 form 数据,空 html server 可以自己存一份)跟空 html 做匹配填充。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX