PageOffice 开发者中心 PageOffice 开发者中心
首页
文档
  • 后端Java手册 (opens new window)
  • 后端.netcore手册 (opens new window)
  • 前端JavaScript手册 (opens new window)
下载
购买 (opens new window)
首页
文档
  • 后端Java手册 (opens new window)
  • 后端.netcore手册 (opens new window)
  • 前端JavaScript手册 (opens new window)
下载
购买 (opens new window)
  • 开始

  • 通用控制

  • Word

    • 常用控制

    • 动态填充

      • 数据区域填充文本
      • 数据区域插入图片
        • 设置数据区域文本样式
        • 数据区域生成表格
        • 数据区域插入Word文档
        • 数据区域插入Excel文档
        • 数据标签填充文本
        • 数据标签填充文本并设置样式
        • 给数据区域赋值并设置样式
        • 给文本框中的数据区域赋值
        • 给Word文档中Table赋值
        • 合并Word中表格的单元格
        • 单元格内插入图片
        • 设置Word表格的样式
        • 文档中的Table插入新行并赋值
        • 删除表格中的指定单元格所在行
        • 动态创建数据区域
        • 动态生成Word文件
        • 动态插入图片并设置大小
        • 动态插入二维码(或条形码)图片
      • 用户输入提交

      • JS控制

    • Excel

    • PDF

    • FileMaker

    • PPT

    • 更多

    目录

    数据区域插入图片

    # 数据区域插入图片

    • 查看本示例演示效果(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
      PageOffice | Copyright © 2013-2026 卓正软件 京ICP备12010902号-2 京公网安备 11010502019270号
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式