C# 替换Word文档中的图片
来源:互联网 发布:java技术要学多久 编辑:程序博客网 时间:2024/05/21 08:43
C# 替换Word文档中的图片
图片是Word文档中非常常见的一种元素,我们在处理Word文档时经常会对图片进行如添加,提取,替换和删除等操作。之前我已经介绍过如何提取Word文档中的图片,这篇文章将介绍如何使用C#和免费Word组件Free Spire.Doc来替换Word文档中的图片。
我们知道图片替换可分为两种方式,文字替换图片和图片替换图片,接下来我将分两部分对它们进行介绍。
一、文字替换图片
下面的示例展示了如何使用文字替换Word文档中的所有图片:
//加载文档Document document = new Document(@"模板.docx");int j = 1;//遍历文档的所有sectionforeach (Section sec in document.Sections){ //遍历section中的所有段落 foreach (Paragraph para insec.Paragraphs) { List<DocumentObject> pictures = new List<DocumentObject>(); //遍历段落中的所有子元素 foreach (DocumentObject docObj inpara.ChildObjects) { //获取段落中的图片 if(docObj.DocumentObjectType == DocumentObjectType.Picture) { pictures.Add(docObj); } } foreach (DocumentObject pic inpictures) { //获取图片的位置(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);
替换前后对比图:
二、图片替换图片
下面的示例展示了如何使用图片替换Word文档中指定的某一张图片:
//加载文档Document document = new Document(@"模板.docx"); //遍历文档第一个section的所有段落foreach (Paragraphparagraph in document.Sections[0].Paragraphs){ //遍历段落的所有子元素 foreach (DocumentObject docObj inparagraph.ChildObjects){ //获取段落中的图片 if(docObj.DocumentObjectType == DocumentObjectType.Picture) { DocPicture picture = docObj as DocPicture; if(picture.Title == "Figure 1") { //替换标题为“Figure1”的图片 picture.LoadImage(Image.FromFile("玫瑰.jpg")); } } }} //Saves the Word documentdocument.SaveToFile("图片替换.docx");替换前后对比图:
感谢阅读,希望本文能给大家带来帮助!
阅读全文
0 0
- C# 替换Word文档中的图片
- C# 导出Word文档中的所有图片
- C# 导出Word文档中的所有图片
- c#提取word文档中的图片
- C# 提取Word文档中的图片
- C#在word文档中替换字符串
- C#在word文档中替换字符串
- java poi组件 读取word文档 替换文档 内容 图片
- C#生成word查找替换中的问题
- C#替换Word中的文本内容
- Java处理word文档 用jacob 表格图片文字替换
- poi操作word文档(替换,插入图片)
- C#实现WORD文档的内容复制和替换
- 如何快速提取Word文档中的图片
- 如何快速提取Word文档中的图片
- 快速提取Word文档中的所有图片
- VB查找并替换WORD文档中的字符串
- word文档中的特殊字符以及其替换
- 基于Socket的UDP和TCP协议
- UITableViewCell中自定义cell添加手势没有响应解决方案
- iOS组件化实践方案-LDBusMediator炼就
- 【Tools】【构建】Gradle
- git学习笔记 -- day02 管理文件版本
- C# 替换Word文档中的图片
- 解决cmd中,javac提示:javac不是内部或外部命令,但是运行java、java-version正常的问题
- Java 3种批量插入更新操作的效率横向比较
- Android常用控件四之日期控件
- “云计算”简要介绍
- 通用工具类(Map转Json)
- php中的输出语句的区别与功能
- 2016东北赛 && hdu 5927 Auxiliary Set [dfs序+BIT]【数据结构】
- 【JavaSE学习笔记】变量