数据区域插入图片
# 数据区域插入图片
- 查看本示例演示效果(Windows版)
- 查看本示例演示效果(国产版)
- 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
在实际的项目开发中,经常需要将各种数据动态填充到Word文档中生成自定义的文档,比如生成一份个人简历。用户可以从多个简历模板中选择自己喜欢的模板,然后将个人信息填充到对应的Word模板中,同时还希望在预留的照片位置插入个人照片。使用PageOffice提供的数据区域操作函数,可以很方便地实现这个功能。
首先,需要编辑Word模板,将需要动态填充数据的位置标记为书签。在D盘根目录下新建一个Word文件,比如命名为“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"
dataRegion1.setValue("[image]D:\\ZhaoPian.png[/image]");//给数据区域插入图片
poCtrl.setWriter(doc); // 必须。
poCtrl.webOpen("D:\\template1.docx", OpenModeType.docNormalEdit, "张佚名");
PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
PageOfficeNetCore.Word.WordDocumentWriter doc = new PageOfficeNetCore.Word.WordDocumentWriter();
PageOfficeNetCore.Word.DataRegionWriter dataRegion1 = doc.OpenDataRegion("PO_Photo");
dataRegion1.Value = "[image]D:\\ZhaoPian.png[/image]";
poCtrl.SetWriter(doc); // 必须。
poCtrl.WebOpen("D:\\template1.docx", PageOfficeNetCore.OpenModeType.docNormalEdit, "tom");
// Make sure to add code blocks to your code group
# 前端代码
本示例无前端关键代码。
上次更新: 2025/07/21, 15:21:36