加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:05:44 所属栏目:百科 来源:网络整理
导读:编辑文档时,对一些需要修改的字符或段落可以通过查找替换的方式,快速地更改。在C# 在word中查找及替换文本一文中,主要介绍了在Word中以文本替换文本的方法,在本篇文章中,将介绍如何用一篇Word文档、图片或者表格来替换文档中的指定文本字符串。示例要点

编辑文档时,对一些需要修改的字符或段落可以通过查找替换的方式,快速地更改。在C# 在word中查找及替换文本一文中,主要介绍了在Word中以文本替换文本的方法,在本篇文章中,将介绍如何用一篇Word文档、图片或者表格来替换文档中的指定文本字符串。示例要点如下:

1. 用文档替换Word中的文本

2. 用图片替换Word中的文本

3. 用表格替换Word中的文本

?

工具

  • ??Free Spire.Doc for .NET

下载安装后,注意在程序中添加引用Spire.Doc.dll(如下图),dll文件可在安装路径下的Bin文件夹中获取。

C#代码示例

【示例1】用文档替换Word中的文本

测试文档:

步骤1:加载文档

//加载源文档
Document document = new Document("Original.docx");

加载用于替换的文档
IDocument replaceDocument = test.docx");

步骤2:用文档替换文本

document.Replace(History",replaceDocument,false,1)">true);

步骤3:保存文档

document.SaveToFile(result.docx

?

全部代码:

using Spire.Doc;
 Spire.Doc.Interface;

namespace ReplaceTextWithDocument_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            加载源文档
            Document document = );

            加载用于替换的文档
            IDocument replaceDocument = 用文档替换源文档中的指定文本
            document.Replace(true保存文档
            document.SaveToFile(,FileFormat.Docx2013);
            System.Diagnostics.Process.Start();
        }
    }
}
View Code

?

?

【示例2】用图片替换Word中的文本

测试文档:

步骤1:加载文件

实例化Document类的对象,并加载测试文档
Document doc = new Document();
doc.LoadFromFile(testfile.docx);
加载替换的图片
Image image = Image.FromFile(g.png");

步骤2:查找需要替换掉的文本字符串

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

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

步骤3:用图片替换文本

遍历文档,移除文本内容,插入图片
foreach (TextSelection selection in selections)
{
    DocPicture pic =  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);
}

步骤4:保存文档

doc.SaveToFile(

全部代码:

 Spire.Doc.Documents;
 Spire.Doc.Fields;
 System.Drawing;

 ReplaceTextWithImg_Doc
{
    实例化Document类的对象,并加载测试文档
            Document doc =  Document();
            doc.LoadFromFile();
            加载替换的图片
            Image image = Image.FromFile(获取第一个section
            Section sec= doc.Sections[];

            查找文档中的指定文本内容
            TextSelection[] selections = doc.FindAllString(;
            TextRange range = null;

            遍历文档,移除文本内容,插入图片
             selections)
            {
                DocPicture pic =  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();
        }
    }
}
View Code

?

【示例3】用表格替换Word中的文本

测试文档:

?

步骤1:加载文档

Document doc = ");

步骤2:查找关键字符串

Section section = doc.Sections[];
TextSelection selection = doc.FindString(参考附录true);

步骤3:获取关键字符串所在段落的索引

TextRange range = selection.GetAsOneRange();
Paragraph paragraph = range.OwnerParagraph;
Body body = paragraph.OwnerTextBody;
int index = body.ChildObjects.IndexOf(paragraph);

步骤4:添加表格

Table table = section.AddTable();
table.ResetCells(2,3);
range = table[0,1)">0].AddParagraph().AppendText(管号(McFarland)1].AddParagraph().AppendText(0.52].AddParagraph().AppendText(11,1)">0.25%BaCl2(ml)0.20.4");

步骤5:移除段落,插入表格

body.ChildObjects.Remove(paragraph);
body.ChildObjects.Insert(index,table);

步骤6:保存文档

doc.SaveToFile(result.doc

全部代码:

 Spire.Doc.Fields;


 ReplaceTextWithTable_Doc
{
    查找关键字符串文本
            Section section = doc.Sections[];
            TextSelection selection = doc.FindString(获取关键字符串所在的段落
            TextRange range = selection.GetAsOneRange();
            Paragraph paragraph = range.OwnerParagraph;
            Body body = paragraph.OwnerTextBody;
            int index = body.ChildObjects.IndexOf(paragraph);

            添加一个两行三列的表格
            Table table = section.AddTable();
            table.ResetCells();
            range = table[移除段落,插入表格 
            body.ChildObjects.Remove(paragraph);
            body.ChildObjects.Insert(index,table);

            );
             
        }
    }
}
View Code

?

以上是本次关于“C# 用文档、图片、表格替换Word中的文本字符串的”的全部内容。

(本文完)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读