电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

不一样的书签功能,解锁WebOffice新技能

来源:金蝶云社区作者:金蝶2024-09-233

不一样的书签功能,解锁WebOffice新技能

最近,业务开发小伙伴小明被上级领导下达了一条令他感到烦恼的任务。经了解,原来他接到了这样的需求:开发一个合同范文模板,根据合同单据中的某个表单的数据和选择的合同模板在线生成一份合同文件,且该合同模板还可以放置图片、水印等。


为了解决小明的困惑,小编这就带领大家了解这一功能的快速实现方法。




1 解决方案


该功能需求的实现需要借助苍穹的WebOffice控件,主要的实现原理为:借助WebOffice控件的书签功能,将word文档中的某段内容当成变量,根据后端数据进行内容的替换

如文档中设置了内容变量:【合同编号】,可根据表单数据将word文档中的【合同编号】 替换成单据中合同编号的字段值,实现模板变量替换的功能。


2 具体设计流程


实现合同模板变量替换功能的整体流程,如下图所示。



具体操作步骤如下:


Step1 合同模板开发设计


合同模板的开发设计,主要分三部分:


  1. 设计合同模板基础资料,为选中的合同单据设计属于自己的合同模板;

  2. 设计合同模板编辑界面;

  3. 设计一个单据打开合同模板变量替换的界面。


三部分的核心代码如下:


  • 获取控件


WebOffice webOffice = getControl("webofficeap");


  • 添加书签至文档中


addMarks(WebOfficeMark mark)
// markKey是书签的标识,markValue是书签值
webOffice.addMarks(new WebOfficeMark(markKey, markValue));


  • 替换书签,根据原有的书签key替换值


modifyMarks(List<WebOfficeMark> marks)
// 组装变量
List<WebOfficeMark> marks = new ArrayList<>(10);
// markKey是原有书签的标识,newMarkValue是新值进行替换
marks.add(new WebOfficeMark(markKey, newMarkValue));
//  支持批量修改
webOffice.modifyMar

不一样的书签功能,解锁WebOffice新技能

最近,业务开发小伙伴小明被上级领导下达了一条令他感到烦恼的任务。经了解,原来他接到了这样的需求:开发一个合同范文模板,根据合同单据...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信