彩票走势图

Spire.Doc系列教程(21):用图片、表格替换 Word 文本

翻译|使用教程|编辑:李显亮|2019-06-18 09:56:49.760|阅读 1353 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程


下载Spire.Doc最新试用版


Spire.Doc for .NET是一个专业的Word .NET库,设计用于帮助开发人员高效地开发创建、阅读、编写、转换和打印任何来自.NET( C#, VB.NET, ASP.NET)平台的Word文档文件的功能。


C# 用图片、表格替换 Word 文本

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

用图片替换Word文本

测试文档:

replace-text-with-image-and-table-1.png

//实例化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);

替换结果:

replace-text-with-image-and-table-2.png


用表格替换Word文本

测试文档:

replace-text-with-image-and-table-3.png

//实例化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);

替换结果:

replace-text-with-image-and-table-4.png


*购买Spire.Doc for .NET正版授权的朋友可以点击哦~~慧都感恩回馈进行时,超值优惠券限时领取,点击下方图片了解详情。

慧都年中活动火热开启



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP