博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spire.Doc系列教程:C# Word 图片替换
阅读量:6827 次
发布时间:2019-06-26

本文共 1775 字,大约阅读时间需要 5 分钟。

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

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

文本替换图片

//加载文档Document document = new Document(@"模板.docx");int j = 1;//遍历文档的所有sectionforeach (Section sec in document.Sections){    //遍历section中的所有段落    foreach (Paragraph para in sec.Paragraphs)    {        List pictures = new List();        //遍历段落中的所有子元素        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 documentdocument.SaveToFile("图片替换.docx");复制代码
替换前后对比图:

                                             【

转载于:https://juejin.im/post/5c8f32545188252dad05cef8

你可能感兴趣的文章
Juniper防火墙中文件安装配置手册
查看>>
react-router 学习笔记
查看>>
tomcat安装配置
查看>>
Struts2.0+Hibernate2.5+Spring3.0搭建JavaEE项目要用的jar
查看>>
Lync Server 2010调整用户设置时,报“访问特权不够”错误解决方法
查看>>
2013互联网公司,年终奖有几何?
查看>>
互联网
查看>>
MySQL load data 权限相关
查看>>
网站静态化处理—web前端优化—上(11)
查看>>
在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?
查看>>
Junit4单元测试的基本用法
查看>>
PDO绑定含IN的SQL语句的参数注意事项
查看>>
NoSQL设计思想(从辅到主)
查看>>
使用物化视图来同步数据on prebuilt table
查看>>
NYOJ176整数划分(二)
查看>>
ribbon重试机制
查看>>
修改sql数据库文件 物理文件名称
查看>>
关于PHP 时区错误的问题
查看>>
ScriptManager.RegisterStartupScript失效的解决方案
查看>>
vsftpd 添加用户
查看>>