PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。
查看本示例演示效果
本示例关键代码的编写位置
Vue+Springboot
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
在实际项目涉及到Word文档的开发中,常常会遇到希望自动填充各项数据到Word模板中,动态生成Word文档的需求。比如说生成一份简历,数据库表已经保存了个人的资料信息,有很多的简历模板,用户先选择意向模板,然后把个人信息填充到Word模板中生成自己的个人简历,同时还希望在照片位置插入个人照片,通过调用PageOffice操作数据区域的函数,就可以实现此目的。
首先,编辑Word模板,即在Word文档中添加书签。在D盘根目录下新建Word文件,比如:D:\template1.docx,打开文件用光标选中需要标记为书签的文字,比如“[照片]”,然后点Word菜单中的“插入”-“书签”,就会弹出一个标题为“书签”的对话框(如下图所示),输入新书签的名称,注意:书签名必须以“PO_”开头,并由字母和数字组成,但中间不能有空格。点右侧的“添加”按钮,新的书签名将出现在下面的列表中。
然后,在D盘根目录下准备一张图片文件,比如:D:\ZhaoPian.png
注意
在使用PageOffice开发的过程中,为了避免出现与用户自己定义的书签出现冲突,要求插入的书签名称必须以“PO_”开头。注意是字母o,不是数字0。在PageOffice的概念里提到的数据区域,本质上就是书签,但是只有“PO_”开头的书签才叫数据区域。
然后,编写代码打开template1.docx文件,动态填充图片到数据区域,并设置图片的尺寸,单位是:英磅。
后端
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocumentWriter doc = new WordDocumentWriter();
DataRegionWriter dataRegion1 = doc.openDataRegion("PO_Photo");//打开数据区域"PO_Photo"
// [image]标签中的width和height属性的单位是:英磅
dataRegion1.setValue("[image width=150 height=200]D:\\ZhaoPian.png[/image]");
poCtrl.setWriter(doc);// 必须。
//打开Word文件
poCtrl.webOpen("D:\\template1.docx", OpenModeType.docNormalEdit, "张三");
标签:uos,文件,Word,书签,PageOffice,word,PO,模板
From: https://www.cnblogs.com/qq742655/p/18472248