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

    • 更多

    目录

    动态插入图片并设置大小

    # 动态插入图片并设置大小

    • 查看本示例演示效果
    • 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码

    注意

    本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

    在实际项目涉及到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, "张三");
      
      PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
      
      PageOfficeNetCore.Word.WordDocumentWriter doc = new PageOfficeNetCore.Word.WordDocumentWriter();
      PageOfficeNetCore.Word.DataRegionWriter data1 = doc.OpenDataRegion("PO_Photo");
      // [image]标签中的width和height属性的单位是:英磅
      data1.Value = "[image width=200.2 height=200]/InsertImageSetSize/doc/1.jpg[/image]";
      
      poCtrl.SetWriter(doc);// 必须。
      
      //打开Word文档
      poCtrl.WebOpen("doc/test.doc", 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号
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式