C# 替换Word中的图片
1、获取方法1:通过e-iceblue官网下载霸忌。下载后,解压文件哄牺处,安装程序。安装完成后,将安装路径下欧互Bin文件夹下的Spire.Doc.dll添加引用至VS程序。如下图:

2、获取方法2:可通过Nuget网站搜索下载。
1、using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Collections.Generic;
using System.Drawing;
namespace ReplaceImgWithText
{
class Program
{
static void Main(string[] args)
{
//加载测试文档
Document doc = new Document();
doc.LoadFromFile("test.docx");
//获取指定段落
Paragraph para = doc.Sections[0].Paragraphs[4];
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)
{
int index = para.ChildObjects.IndexOf(pic);
TextRange range = new TextRange(doc);
range.Text = string.Format("图片1");
para.ChildObjects.Insert(index, range);
para.ChildObjects.Remove(pic);
}
//保存文档
doc.SaveToFile("ReplaceImgWithText.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("ReplaceImgWithText.docx");
}
}
}
2、替换效果:

1、using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace ReplaceImgWithImg
{
class Program
{
static void Main(string[] args)
{
//加载测试文档
Document doc = new Document();
doc.LoadFromFile("test.docx");
//获取指定段落
Paragraph para = doc.Sections[0].Paragraphs[4];
//遍历段落中的所有子对象
foreach (DocumentObject docObj in para.ChildObjects)
{
//加载图片替换子对象为图片的对象
if (docObj.DocumentObjectType == DocumentObjectType.Picture)
{
DocPicture picture = docObj as DocPicture;
picture.LoadImage(Image.FromFile("tp.png"));
}
}
//保存文档
doc.SaveToFile("ReplaceImgWithImg.docx");
System.Diagnostics.Process.Start("ReplaceImgWithImg.docx");
}
}
}
2、替换效果:
