C# 读取Word中的书签

本文介绍如何在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();
        }
    }
}

书签读取结果:


版权声明:本文为Eiceblue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。