`

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

阅读更多

在上一篇文章中介绍了关于C#如何插入Word书签、插入图片或表格到word、删除word书签等内容,本篇文章将继续介绍C#操作word书签的方法。下面的示例中将介绍

  • C# 如何读取Word书签
  • C# 如何替换Word书签

 

工具使用

示例代码

 

原文档中的书签内容:



 1. 读取word书签

【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();
        }
    }
}

 

 

读取结果如下:



 

2. 替换书签内容

 

【C#】

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

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");
        }
    }
}

 

测试结果:



 

 以上是本次关于C# 操作Word书签功能的补充介绍,如需转载,请注明出处。

  (本文完)

 

  • 大小: 57.8 KB
  • 大小: 47.8 KB
  • 大小: 42.8 KB
0
0
分享到:
评论

相关推荐

    C#操作word文档 C#实现Word中表格信息读取

    二是如何利用C#批量替换Word文档中的书签文本。下面将对这两个知识点进行详细解析。 ### 一、使用C#操作Word文档并插入图片 在C#中操作Word文档通常需要用到`Microsoft.Office.Interop.Word`命名空间下的类库。这...

    C#操作word里面的书签

    本篇文章将深入探讨如何使用C#来操作Microsoft Word中的书签,以及如何将DataGridView的数据作为表格插入到书签指定的位置。书签在Word文档中起到了定位和标记的作用,它们可以帮助开发者精确地在文档的特定位置进行...

    C#操作Word——C#向Word文档中写入文字

    C#操作Word文档,实现文字写入 本实例主要讲述了使用C#操作Word文档,实现文字写入功能。通过使用Word文档中的Range属性,能够轻松地向Word文档中添加文本内容。本实例中,首先创建了一个Windows窗体应用程序,然后...

    c#操作word进行批量查找和替换

    在C#编程环境中,利用Microsoft.Office.Interop.Word库可以实现对Word文档进行批量查找和替换的操作。这个功能在处理大量文档时非常有用,例如在企业中更新标准文本、修改报告模板或者统一格式等场景。以下是对这个...

    C#操作word,签入书签,图表,表格

    在C#编程环境中,操作Microsoft Word文档是一项常见的任务,尤其在自动化办公流程或者软件开发中。本主题将深入探讨如何使用C#来处理Word文档,包括添加文本、图片和表格,绘制表格,管理书签,删除空白页,以及对...

    C#替换Word中标签的内容.

    本文将深入探讨如何使用C#来替换Word文档中的特定标签内容,这在自动化报告生成、数据填充或者模板化文档处理等场景中非常实用。 首先,要实现这个功能,我们需要引入一个名为`Microsoft.Office.Interop.Word`的DLL...

    C#操作word模板

    ### C#操作Word书签模板知识点详解 #### 一、制作Word书签模板 1. **新建文档**:首先创建一个新的Word文档,并设置好需要的内容。对于需要循环展示的部分(如列表或表格),建议将其放入表格中进行管理,因为表格...

    C# NPOI替换Word文档模板

    C#版本 NPOI 批量替换Word文档(doc文件)变量的方法。 网上各种代码都是直接替换run,但实际上很多变量是由多个run表示的,并不能直接用,本代码完美支持{变量}替换。

    DocX类操作WORD文档——把图片插入到书签指定位置

    在Word文档中,书签是一个可以用来标记特定位置的对象,方便后续的操作。我们可以使用DocX的`Document.Bookmarks`属性来访问文档中的所有书签,然后根据书签的名字找到目标书签。 以下是使用DocX库插入图片的基本...

    C#操作word,如何进行查找和替换

    ### C#操作Word文档进行查找和替换的知识点详解 #### 一、引入必要的命名空间与组件 为了在C#中操作Word文档,首先需要引入必要的命名空间和引用Microsoft Word对象库。具体步骤如下: 1. **引入命名空间**: ``...

    C#打开Word定位到指定书签

    本话题聚焦于使用C#编程语言实现打开Word文档并定位到特定书签的功能,这是一个非常实用的技术点,尤其适用于帮助系统或者文档查阅场景。在描述中提到了一个具体的例子:当用户点击页面上的“帮助”按钮时,程序会...

    C#读取Word内容

    总结来说,C#读取Word内容主要通过两种方式:一是使用Microsoft.Office.Interop.Word库,二是利用OpenXML SDK。两者各有优缺点,开发者应根据实际需求选择合适的方法。在项目开发过程中,确保正确处理异常,避免资源...

    C#操作word文档(多种方法)

    以上就是C#操作Word文档的一些核心知识点和常见操作,通过这些方法可以实现对Word文档的读取、编辑和创建。在实际开发中,根据具体需求,还可以结合其他高级特性,如模板应用、邮件合并、宏执行等。

    open xml 操作 word 书签

    压缩包中的`Bookmarks_SourceCode`很可能包含了一些示例代码,演示如何使用编程语言(如C#或Python)来操作Open XML文档中的书签。这些代码可以作为学习和实践的起点,帮助理解如何实际应用上述理论知识。 8. **...

    C#操作Word文档(根据模板生成文档、替换内容、插入表格等)

    本主题聚焦于如何利用C#来操作Microsoft Word文档,包括根据模板生成文档、替换内容以及插入表格等核心功能。这对于自动化报告生成、数据导出、文档处理等场景非常有用。 首先,要实现这些功能,我们需要引用...

    C# Spire Word替换标签的操作

    在“C# Spire Word替换标签的操作”中,关键步骤包括: 1. **导入库**:首先,在C#项目中引入Spire.Doc库。这通常通过NuGet包管理器完成,添加`Spire.Doc`的依赖。 2. **创建Document对象**:使用`Spire.Doc....

    C#读取Word文档的技巧

    C#读取Word文档的实现是C#编程操作Word遇到问题的解决技巧之一。为了读取Word文档,需要使用Called“Microsoft Word 9.0 object library”的COM组件,该组件提供了所有用来读取Word文档的对象和方法。在这里,我们...

    C#以二进制流读取word

    本篇文章将深入探讨如何在C#中以二进制流读取Word文档。 首先,理解二进制流的概念至关重要。二进制流是计算机存储和传输数据的基本方式,它允许程序以原始字节序列的形式处理文件,而不是以文本或其他高级格式。在...

    C#操作word文档书签替换内容生成文档.zip

    本主题聚焦于如何利用C#操作Microsoft Word文档,特别是针对书签进行内容替换和文档生成。以下是对这个主题的详细阐述: 1. **C#与Microsoft Office Interop**: 要操作Word文档,C#开发者通常会使用Microsoft ...

Global site tag (gtag.js) - Google Analytics