C# 操作Word书签(二)——读取、替换Word书签

 时间:2024-10-14 02:28:09

此经验将介绍如何通过C#编程来读取、替换Word中已有的书签内容。

工具/原料

Spire.Doc for .NET 版本 6.1

Visual Studio

dll引用

1、在E-iceblue官网或者Nuget网站上下载 Spire.Doc for .NET的安装包后,注意在编辑代码时,添加引用Spire.Doc.dll到程序。dll文件可在安装路径下的Bin文件夹中获取。原文档中的书签内容:

C# 操作Word书签(二)——读取、替换Word书签

1. 读取word书签

1、【C#】using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fi髫潋啜缅elds;using System;namespace GetTextOfBookmark_Doc{ class Program { static void Main(string[] args) { //实例化Document类,加载测试文档 Document doc = new Document(); doc.LoadFromFile("test.docx"); //初始化BookmarkNavigator类对象 BookmarksNavigator navigator = new BookmarksNavigator(doc); //定位到指定书签位置,获取书签位置的文档内容 navigator.MoveToBookmark("bookmark1"); TextBodyPart textBodyPart = navigator.GetBookmarkContent(); //遍历书签内容中的子项目,并将文本信息提取至string类型变量中 string text = null; foreach (var item in textBodyPart.BodyItems) { if (item is Paragraph) { foreach (var childObject in (item as Paragraph).ChildObjects) { if (childObject is TextRange) { text += (childObject as TextRange).Text; } } } } //控制台输出文本 Console.WriteLine(text); Console.ReadLine(); } }}

2、读取结果:

C# 操作Word书签(二)——读取、替换Word书签

2. 替换书签内容

1、【C#】using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fi髫潋啜缅elds;namespace EditOrReplaceBookmark_Doc{ class Program { static void Main(string[] args) { //创建Document类实例,加载文档 Document document = new Document(); document.LoadFromFile("test.docx"); Section sec = document.AddSection();//添加section sec.AddParagraph().AppendText("Welcome Back, \n My Friend!"); //添加段落到section,并添加字符串内容 //获取段落内容 ParagraphBase firstReplacementParagraph = sec.Paragraphs[0].Items.FirstItem as ParagraphBase; ParagraphBase lastReplacementParagraph = sec.Paragraphs[sec.Paragraphs.Count - 1].Items.LastItem as ParagraphBase; //实例化类TextBodySelection和TextBodyPart TextBodySelection selection = new TextBodySelection(firstReplacementParagraph, lastReplacementParagraph); TextBodyPart part = new TextBodyPart(selection); BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);//实例化BookmarksNavigator类 bookmarkNavigator.MoveToBookmark("bookmark1", true, true);//定位到书签“bookmark1”所在段落的位置 bookmarkNavigator.DeleteBookmarkContent(true);//删除原有书签位置的内容 bookmarkNavigator.ReplaceBookmarkContent(part, true, true);//用新添加段落的内容替换掉原书签的内容并保留格式 //移除section document.Sections.Remove(sec); //保存文档并打开 document.SaveToFile("替换书签.docx"); System.Diagnostics.Process.Start("替换书签.docx"); } }}

2、测试结果:

C# 操作Word书签(二)——读取、替换Word书签
  • 游览器显示“对象不支持此属性或方法“怎么办
  • 如何远程关闭局域网中的电脑?
  • sqlserver如何根据指定日期计算当年的第一天?
  • 怎么用VBA判断打开了几个文档
  • 豪恩LH-931型探测器说明书
  • 热门搜索
    英语节日手抄报 好词好句手抄报 手抄报版图 讲普通话手抄报内容 关于感恩父母手抄报 生活处处有语文手抄报 五年级上数学手抄报 日行一善手抄报花边 春节手抄报花边 绿色出行齐步走手抄报