本文介绍如何在C#程序中如何来读取Word文档中的书签内容。关于C#如何添加,替换和删除书签的话,可参考这篇文章。
使用工具:Spire.Doc for .NET pack 8.1
原文档中的书签内容如下:
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
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();
}
}
}
书签读取结果: