Spire.Doc系列教程:C# Word 图片替换

2023-11-05

Spire.Doc支持在Word文档中对图片进行多种操作,如添加,提取,替换和删除等。本文主要介绍如何使用Spire.Doc替换Word文档中的图片。

在Spire.Doc中,图片替换包含文本替换图片和图片替换图片两种方式,以下部分将对这两种方式逐一进行介绍。

文本替换图片

//加载文档
Document document = new Document(@"模板.docx");
int j = 1;
//遍历文档的所有section
foreach (Section sec in document.Sections)
{
    //遍历section中的所有段落
    foreach (Paragraph para in sec.Paragraphs)
    {
        List<object> pictures = new List<object>();
        //遍历段落中的所有子元素
        foreach (DocumentObject docObj in para.ChildObjects)
        {
            //获取段落中的图片
            if (docObj.DocumentObjectType == DocumentObjectType.Picture)
            {
                pictures.Add(docObj);
            }
        }
        foreach (DocumentObject pic in pictures)
        {
            //获取图片的位置(index)
            int index = para.ChildObjects.IndexOf(pic);
            //插入文本到图片位置
            TextRange range = new TextRange(document);
            range.Text = string.Format("图片 {0}", j);
            para.ChildObjects.Insert(index, range);
            //删除图片
            para.ChildObjects.Remove(pic);
            j++;
        }
    }
}
//保存文档
document.SaveToFile(@"文本替换.docx", FileFormat.Docx);

 

替换前后对比图:

文本替换图片


图片替换图片

//加载文档
Document document = new Document(@"模板.docx");

//遍历文档第一个section的所有段落
foreach (Paragraph paragraph in document.Sections[0].Paragraphs)
{
    //遍历段落的所有子元素
    foreach (DocumentObject docObj in paragraph.ChildObjects)
{
    //获取段落中的图片
        if (docObj.DocumentObjectType == DocumentObjectType.Picture)
        {
            DocPicture picture = docObj as DocPicture;       
            if (picture.Title == "Figure 1")
            {
                //替换标题为“Figure 1”的图片
                picture.LoadImage(Image.FromFile("玫瑰.jpg"));
            }
        }
    }
}

//Saves the Word document
document.SaveToFile("图片替换.docx");

 

替换前后对比图:

图片替换图片

                                                                 【下载Spire.Doc最新试用版

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spire.Doc系列教程:C# Word 图片替换 的相关文章

  • 如何设置ppt,使讲演者看到备注,而观众看不到(很好,很实用!)

    前言 大家在看此篇文章之前心中是不是一直存有一个疑问 那就是office组件中的powerpoint PPT 制作中的 备注 到底有何作用 在工作中经常用PPT放映演示给客户进行讲演 也见识过专业讲师和IT销售给我介绍产品 使用的也是 PP
  • 下载安装微软office的详细步骤

    目录 一 前言 二 下载路径 一 wps office 办公软件下载地址 1 wps office办公软件下载地址 二 微软office 办公软件下载地址 2021 1 专业增强版 2 专业版 3 家庭专业版 4 家庭企业版 三 微软off
  • 无需MS Office!使用Aspose在C ++中以编程方式将 DOCX 转换为 DOC

    Microsoft Word 文档有两种格式 DOC 和 DOCX DOC 是一种较旧的格式 而 DOCX 是它的继任者 可以将 DOCX 文件转换为 DOC 格式 反之亦然 在本文中 将学习如何将 DOCX 文件转换为 DOC 格式以及如
  • Spire.Doc系列教程:C# Word 图片替换

    Spire Doc支持在Word文档中对图片进行多种操作 如添加 提取 替换和删除等 本文主要介绍如何使用Spire Doc替换Word文档中的图片 在Spire Doc中 图片替换包含文本替换图片和图片替换图片两种方式 以下部分将对这两种
  • Microsoft Excel 无法插入新的单元格,因为这会将非空单元格推送到工作表的末尾...的问题解决

    这个问题的出现应该是最后一行或一列有数据 按以下步骤操作 1 选中文字表格最后一列空白列 随后按ctrl shift 向右 选中整列 点击右键删除 2 选中文字表格最后一行空白列 随后按ctrl shift 向右 选中整行 点击右键删除
  • [VB.NET]曲线的绘制!!!

    曲线的绘制 第一 在实验时需要把实时采集到的数据绘制成曲线图 再者 在数据处理时 需要把数据库中的数据 就是刚才实时采集到的数据点 以曲线图的形式在picturebox上显示出来 并且还要打印 请高手进来指点指点吧
  • visio导出高质量图片

    具体操作如下 首先 ctrl A 然后选择 另存为 保存类型选择 Tag图像文件格式 接着在输出里面设置 压缩格式选为 LZW 接着是 256色 然后选择 打印机 下面是 源 然后点击确定就可以了 这样绝对是满足投稿要求的 分辨率为300d
  • Office 2019 for Mac 安装

    1 下载微软官方Office 2019 for Mac 64位 大小 1 7G 2 按照提示安装Office 2019 for Mac 3 下载14743217 Microsoft Office 2019 VL Serializer安装器
  • 国产文档处理控件Spire.Doc WPS Word文档功能上线!快速创建Word指南

    Spire Doc for Java 是一款专业的Java Word组件 开发人员使用它可以轻松地将Word文档创建 读取 编辑 转换和打印等功能集成到自己的Java应用程序中 本文将介绍如何使用Spire Doc for Java加载 操
  • Excel中万能的查询函数——VLOOKUP(使用方法+实操)

    Vlookup函数 基础用法并不难 尤其遇到需要查询匹配的问题 简直不要太好用 但想要掌握全部用法还是需要时间的 对vlookup用法做了超强汇总表 检索 vlookup函数用法大全https link zhihu com target h
  • PyCharm入门教程——自动导入(下)

    查看 PyCharm入门教程 自动导入 上 PyCharm 是一种Python IDE 其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 此外 该IDE提供了一些高级功能 以用于Django框架下的专业Web开发 PyC
  • outlook中打开链接时收到错误信息

    http helpdesk blog 51cto com 219783 233525 症状 outlook中打开链接时收到错误信息 一般性错误 http 找不到应用程序 原因 IE非默认浏览器 解决方法 打开任意文件夹 工具 文件夹选项 文
  • 向win7旗舰版U盘启动盘 添加usb3.0driver

    以前的主板usb采用的是ehci controller 仅支持usb2 0 而现在的主板一般采用xhci controller 同时支持usb2 0和usb3 0 win7的镜像安装包里面的驱动并没有xhci的驱动 所以在如今的很多新平台的
  • 在WPF中将数据从数据库导出到Excel的快速解决方案

    Spire XLS一种专业且功能强大的Excel API 使开发人员 程序员可以使用其应用程序操作Excel文件 没有Microsoft Automation Spire XLS可使编程变得更加简单 免费下载 本文将介绍一种将数据从数据库导
  • Aspose功能演示:使用Java以编程方式在 Excel 文件中添加或修改 VBA 宏

    VBA是一种编程语言 用于在 MS Excel 文件中自动执行各种操作 特别是 VBA 宏是用户定义的代码 可加速电子表格操作任务 在本文中 将学习如何以编程方式使用 Excel 文件中的 VBA 宏 最终 将能够 使用 Java 在 Ex
  • 语音识别之获取语言数据(portaudio的平台搭建)

    我们要进行语言识别 那么就要先构建好平台 portaudio 我们需要采集所需要的16KHZ频率 16比特的声音信号 我们就可以采用portaudio来实现这个功能 那么这个Portaudio怎么使用呢 请看 http www cnblog
  • visual studio使用教程

    linux疑难问题排查实战 分享了作为公司专家 在项目开发过程中内存优化 堆 栈 代码段 数据段 性能优化 死机 栈越界 堆越界 死锁等疑难问题排查的案例 使用的工具 perf asan strace memleak等 工作经验 大家可以点
  • js生成柱状图

  • word中目录右边页码对不齐解决方法

    这个目录对不齐原因未知 解决方法 1 在视图中打开标尺 2 选择对不齐的目录项 如果整个目录都有出现不对齐 选择整个目录 3 拖动标尺 进行对齐 4 被治愈了
  • 使用Aspose在Java中将Excel文件转换为HTML

    Excel电子表格可让您以表格形式存储和组织数据 也可以执行计算以及生成不同类型的图形和图表以分析数据 但是 在各种情况下 可能需要执行Excel到HTML的转换才能将工作表转换为HTML页面 例如 将电子表格的内容嵌入到网页中时 因此 本

随机推荐

  • 初始C语言——利用Ascll码进行字母大小写转换

    打开Ascll码表 你会发现大写字母和小写字母之间存在这样的关系 图片来自 https img blog csdnimg cn 54404234b42348d6a33bc1c4d5ab24e5 png 小写字母的值始终比大写字母多32 de
  • Node.js

    Node js Node js基础 概念 简单的说 Node js 就是运行在服务端的 JavaScript Node js 是一个基于Chrome JavaScript 运行时建立的一个平台 Node js是一个事件驱动I O服务端Jav
  • (五)决策树

    一 决策树 决策树是监督学习算法 下面为一些样本 本质上是一种特征去结果的相关度 比如你的信贷情况与能否还贷的相关度肯定高 而你有没有结婚的相关度肯定低 二 信息增益 三 ID3算法
  • php 未支付取消订单,【php】用户提交订单,30分钟后没付款取消订单功能分析

    我先在要做这样的功能 用户在创建订单后 订单表中记入的是未付款状态 如果用户在30分钟后 还未付款 然后就把该订单给取消 关于用户创建订单 30分钟后还没付款 取消该订单的逻辑是怎么实现的 我自己的想了两个方案 1 客户端记入这个订单 如果
  • MindNode 5 for Mac(思维导图软件)中文版

    绘制流程图 思维导图 规划图 信息图等自然少不了这款MindNode 5 for Mac 作为优质的思维导图软件 mindnode5 mac破解版的功能很全面 添加文字 链接 图片 扩展注释等非常便捷 而且mindnode 5 破解版会智能
  • Rocketmq原理&最佳实践

    一 MQ背景 选型 消息队列作为高并发系统的核心组件之一 能够帮助业务系统解构提升开发效率和系统稳定性 主要具有以下优势 削峰填谷 主要解决瞬时写压力大于应用服务能力导致消息丢失 系统奔溃等问题 系统解耦 解决不同重要程度 不同能力级别系统
  • Python开发篇——基于React-Dropzone开发上传组件

    这次我要讲述的是在React Flask框架上开发上传组件的技巧 我目前主要以React开发前端 在这个过程中认识到了许多有趣的前端UI框架 React Bootstrap Ant Design Material UI Bulma等 而比较
  • Linux操作系统知识点总结

    1 什么是Linux系统 Linux 全称GNU Linux 是一种免费使用和自由传播的类UNIX操作系统 其内核由林纳斯 本纳第克特 托瓦兹 Linus Benedict Torvalds 于1991年10月5日首次发布 它主要受到Min
  • Qt 实现自定义Ui控件例子,以自定义的Slider为例(QWidget)

    说明 Qt可以比较方便地实现自定义控件在Qt Creator中使用 网上也有很多大神的控件可以使用 但是如果想要自己简单定制也可以按照这个流程 本文的要点 1 如何实现一个自定义控件 本文使用的方法有两个步骤 先在一个普通项目中实现使用 新
  • FreeRTOS学习笔记(3、信号量、互斥量的使用)

    FreeRTOS学习笔记 3 信号量 互斥量的使用 前言 往期学习笔记链接 学习工程 信号量 semaphore 两种信号量的对比 信号量的使用 1 创建信号量 2 give 3 take 4 删除信号量 使用计数型信号量实现同步功能 使用
  • zookeeper结构和命令

    zookeeper特性 1 Zookeeper 一个leader 多个follower组成的集群 2 全局数据一致 每个server保存一份相同的数据副本 client无论连接到哪个server 数据都是一致的 3 分布式读写 更新请求转发
  • 选择、插入、归并、希尔、快速排序算法性能比较总结

    1 概述 本文对比较常用且比较高效的排序算法进行了总结和解析 并贴出了比较精简的实现代码 包括选择排序 插入排序 归并排序 希尔排序 快速排序等 算法性能比较如下图所示 2 选择排序 选择排序的第一趟处理是从数据序列所有n个数据中选择一个最
  • MyBatis-扩展-PageHelpler分页插件使用

    PageHelper是MyBatis中非常方便的第三方分页插件 官方文档 https github com pagehelper MybatisPageHelper blob master README zh md 我们可以对照官方文档的说
  • tomcat的日志记录有哪些?

    Tomcat 是一个常用的 Java Web 服务器 它可以生成各种类型的日志记录 以下是 Tomcat 的一些常见日志记录 访问日志 Access Logs 记录所有进入 Tomcat 服务器的 HTTP 请求 这些日志包含有关请求的详细
  • jdk源码调试显示变量

    原文地址 http my oschina net xionghui blog 497361 Java是一门开源的程序设计语言 喜欢研究源码的java开发者总会忍不住debug一下jdk源码 虽然官方的jdk自带了源码包src zip 然而在
  • LeetCode 面试题01.01. 判定字符是否唯一的两种解法

    本文唯一重点 按位取与的运算优先级比较低 至少比 和 都低 注意加括号 题目概述 题解 一 哈希表 思路是简单的 用第一个下标做字符 第二个下标做字符出现的次数 先遍历一遍字符串 把次数都统计好 然后再遍历一遍字符串 如果查询到某个字符的c
  • 解决中文乱码问起

    Java对数据库进行CRUD操作出现乱码 先查看web xml有没有配置字符编码过滤器
  • es6把多个class方法合并在一起

    前言 es6新增的class方法 现在想把他们多个合并到一起 最终生成一个新方法出来 思路 我们新建3个文件 分别为index js login js main js login js 和 main js是两个 class函数 将他们合并到
  • Huggingface-4.8.2自定义训练

    Huggingface走到4 8 2这个版本 已经有了很好的封装 训练一个语言网络只需要调用Trainer train 即可完成 如果要根据自己的需求修改训练的过程 比如自定义loss 输出梯度 直接修改huggingface的源码显然是不
  • Spire.Doc系列教程:C# Word 图片替换

    Spire Doc支持在Word文档中对图片进行多种操作 如添加 提取 替换和删除等 本文主要介绍如何使用Spire Doc替换Word文档中的图片 在Spire Doc中 图片替换包含文本替换图片和图片替换图片两种方式 以下部分将对这两种