【教程】Spire.Doc系列教程(3):C# 用图片、表格替换Word文本

Spire.Doc支持查找替换Word中的文本、图片等。前文介绍了如何用文档、文本替换Word文本,本篇文章将介绍用图片、表格替换Word文本的方法。

用图片替换Word文本

测试文档:

测试文档

代码如下:

//实例化Document类的对象,并加载测试文档
Document doc = new Document();
doc.LoadFromFile("testfile.docx");

//加载替换的图片
Image image = Image.FromFile("g.png");

//获取第一个section
Section sec= doc.Sections[0];

//查找文档中的指定文本内容
TextSelection[] selections = doc.FindAllString("Google", true, true);
int index = 0;
TextRange range = null;

//遍历文档,移除文本内容,插入图片
foreach (TextSelection selection in selections)
{
    DocPicture pic = new DocPicture(doc);
    pic.LoadImage(image);
    range = selection.GetAsOneRange();
    index = range.OwnerParagraph.ChildObjects.IndexOf(range);
    range.OwnerParagraph.ChildObjects.Insert(index, pic);
    range.OwnerParagraph.ChildObjects.Remove(range);
}

//保存文档
doc.SaveToFile("result.docx", FileFormat.Docx);

替换结果:

用图片替换文本结果

 

用表格替换Word文本

测试文档2

代码如下:

//实例化Document类的对象,并加载测试文档
Document doc = new Document();
doc.LoadFromFile("test.docx");

//查找关键字符串文本
Section section = doc.Sections[0];
TextSelection selection = doc.FindString("参考附录", true, true);

//获取关键字符串所在段落的索引
TextRange range = selection.GetAsOneRange();
Paragraph paragraph = range.OwnerParagraph;
Body body = paragraph.OwnerTextBody;
int index = body.ChildObjects.IndexOf(paragraph);

//添加一个两行三列的表格
Table table = section.AddTable(true);
table.ResetCells(2, 3);
range = table[0, 0].AddParagraph().AppendText("管号(McFarland)");
range = table[0, 1].AddParagraph().AppendText("0.5");
range = table[0, 2].AddParagraph().AppendText("1");
range = table[1, 0].AddParagraph().AppendText("0.25%BaCl2(ml)");
range = table[1, 1].AddParagraph().AppendText("0.2");
range = table[1, 2].AddParagraph().AppendText("0.4");

//移除段落,插入表格 
body.ChildObjects.Remove(paragraph);
body.ChildObjects.Insert(index, table);

//保存文档
doc.SaveToFile("result.doc", FileFormat.Doc);

替换结果:

用表格替换文本结果

下载Spire.Doc最新试用版

转载于:https://my.oschina.net/u/4031066/blog/3014405

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值