在现代办公环境中,阅读或者编辑较长篇幅的Word文档时,想要在文档中某一处或者几处留下标记,方便日后查找、修改时,需要在相对应的文档位置插入书签。那对于开发者而言,在C#或者VB.NET语言环境中,如何来快速、简便的插入书签呢,我分享一下我的经验。这里我用到了一款E-iceblue公司发布的一款免费的Word组件(Free Spire.Doc for .NET),方法很简单,如下:

步骤一:初始化Document实例并加载Word文档


Document document = new Document();document.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦.docx ");

步骤二:于第七段末和第八段间插入书签,命名书签为“C#.bookmark


Section section = document.Sections[0];section.Paragraphs[7].AppendBookmarkStart("C#.bookmark");section.Paragraphs[8].AppendBookmarkEnd("C#.bookmark ");

步骤三:保存文件


document.SaveToFile("Bookmark.docx", FileFormat.Docx);System.Diagnostics.Process.Start("Bookmark.docx");

完成后以上步骤后,文档中查找定位即可,文档自动定位到当前所设书签位置。

完整代码如下,供参考:

C#


using System;using Spire.Doc;using Spire.Doc.Documents;namespace WordBookmark{    class Bookmark    {        static void Main(string[] args)        {            //Load Document            Document document = new Document();            document.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦.docx ");            //Insert Bookmark            Section section = document.Sections[0];            section.Paragraphs[7].AppendBookmarkStart(".NETFramework");section.Paragraphs[8].AppendBookmarkEnd(".NETFramework");            //Save and Launch             document.SaveToFile("Bookmark.docx", FileFormat.Docx);            System.Diagnostics.Process.Start("Bookmark.docx");        }    }}

VB.NET:


Imports SystemImports Spire.DocImports Spire.Doc.DocumentsNamespace WordBookmark        Class Bookmark                Private Shared Sub Main(ByVal args() As String)            'Load Document            Dim document As Document = New Document            document.LoadFromFile("C:\Users\Administrator\Desktop\中国梦.docx ")            'Insert Bookmark            Dim section As Section = document.Sections(0)            section.Paragraphs(7).AppendBookmarkStart(".NETFramework")            section.Paragraphs(8).AppendBookmarkEnd(".NETFramework")            'Save and Launch             document.SaveToFile("Bookmark.docx", FileFormat.Docx)            System.Diagnostics.Process.Start("Bookmark.docx")        End Sub    End ClassEnd Namespace

同样的,撤销书签也可以参考执行我下面的操作

步骤一:加载需要撤销书签的Word文档


Document doc = new Document();           doc.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦(书签).docx");

步骤二:撤销已有书签


doc.Bookmarks.RemoveAt(0);

步骤三:保存文件


doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx);            System.Diagnostics.Process.Start("Remove Bookmark.docx");

撤销书签后,得到以下文档效果

如图,原本插入书签的段落已撤销书签

完整代码如下

C#


using Spire.Doc;namespace Removing{    class Program    {        static void Main(string[] args)        {            //Load Document            Document doc = new Document();            doc.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦(书签).docx ");            //Remove Bookmark            doc.Bookmarks.RemoveAt(0);            //Save and Launch            doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx);            System.Diagnostics.Process.Start("Remove Bookmark.docx");        }    }}

VB.NET:


Imports Spire.DocNamespace Removing        Class Program                Private Shared Sub Main(ByVal args() As String)            'Load Document            Dim doc As Document = New Document            doc.LoadFromFile("C:\Users\Administrator\Desktop\中国梦(书签).docx ")            'Remove Bookmark            doc.Bookmarks.RemoveAt(0)            'Save and Launch            doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx)            System.Diagnostics.Process.Start("Remove Bookmark.docx")        End Sub    End ClassEnd Namespace

更多相关文章

  1. C#对Word文档的创建、插入表格、设置样式等操作实例
  2. 技术解答CSV 文件的一个 .NET 库:CsvHelper 中文文档
  3. C# 使用NPOI生成Word文档(按照模板)
  4. 解析php DOMElement 操作xml 文档的实现代码
  5. 给XML文档添加新 ”records”
  6. XML解析之sax解析案例(二)使用sax解析把 xml文档封装成对象
  7. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
  8. Dom4j修改xml文档引入
  9. 根据Schema写出XML文档四部曲

随机推荐

  1. Android(安卓)淘气三千传之——Android搜
  2. Android中高级联动控件 RecyclerView+Vie
  3. [转] android 日期时间格式转换
  4. Android(安卓)TextView自动换行文字排版
  5. 2010.10.31———Android 04
  6. Ubuntu .bashrc个人配置
  7. android设置状态栏颜色
  8. 淡入淡出动画
  9. Android Socket编程初探
  10. Android JNI入门实例