在现代办公环境中,阅读或者编辑较长篇幅的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[];
section.Paragraphs[].AppendBookmarkStart("C#.bookmark");
section.Paragraphs[].AppendBookmarkEnd("C#.bookmark ");

步骤三:保存文件

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

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

以上简单三个步骤即可完成对word文档书签插入。

完整代码如下,供参考:

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[];
section.Paragraphs[].AppendBookmarkStart(".NETFramework");
section.Paragraphs[].AppendBookmarkEnd(".NETFramework"); //Save and Launch
document.SaveToFile("Bookmark.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("Bookmark.docx");
}
}
}

VB.NET:

Imports System
Imports Spire.Doc
Imports Spire.Doc.Documents Namespace 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()
section.Paragraphs().AppendBookmarkStart(".NETFramework")
section.Paragraphs().AppendBookmarkEnd(".NETFramework")
'Save and Launch
document.SaveToFile("Bookmark.docx", FileFormat.Docx)
System.Diagnostics.Process.Start("Bookmark.docx")
End Sub
End Class
End Namespace

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

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

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

步骤二:撤销已有书签

doc.Bookmarks.RemoveAt();

步骤三:保存文件

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(); //Save and Launch
doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("Remove Bookmark.docx");
}
}
}

VB.NET:

Imports Spire.Doc

Namespace 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()
'Save and Launch
doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx)
System.Diagnostics.Process.Start("Remove Bookmark.docx")
End Sub
End Class
End Namespace

以上内容是本人对word插入及撤销书签的操作演示,希望我的这个分享对你有所启发,感谢阅读!

C#/VB.NET 给Word文档添加/撤销书签的更多相关文章

  1. 如何通过C#/VB.NET设置Word文档段落缩进

    缩进是指调整文本与页面边界之间的距离.在水平标尺,有四个段落缩进滑块:首行缩进.悬挂缩进.左缩进以及右缩进.在对于word文档的录入时,常常需要注意录入的格式,通过合理地设置段落格式,可以让文稿看起来 ...

  2. C# 给Word文档添加内容控件

    C# 给Word文档添加内容控件 在MS Word中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片.日期.列表或格式化的文本等),从而创建一个结构化的word ...

  3. OpenXml入门----给Word文档添加文字

    使用OpenXml给word文档添加文字,每个模块都有自己对于的属性以及内容,要设置样式就先声明属性对象,将样式Append到属性里面,再将属性append到模块里面,那么模块里面的内容就具备该样式了 ...

  4. 向Docx4j生成的word文档添加图片和布局--第一部分

    原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...

  5. Java 如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...

  6. C#/VB.NET 在Word文档中插入分页符

    分页符是分页的一种符号,上一页结束以及下一页开始的位置.通查用于在指定位置强制分页.本文将分为两部分来介绍如何在Word文档中插入分页符.并附上C#/VB.NET以供参考,详情请阅读以下内容. 在特定 ...

  7. C# 操作Word 文档——添加Word页眉、页脚和页码

    在Word文档中,我们可以通过添加页眉.页脚的方式来丰富文档内容.添加页眉.页脚时,可以添加时间.日期.文档标题,文档引用信息.页码.内容解释.图片/LOGO等多种图文信息.同时也可根据需要调整文字或 ...

  8. .NET 动态向Word文档添加数据

    本文章主要用于在网页上填写数据动态填入Word模板中使用 首先要准备一个Word模板,然后在需要插入数据的位置插入书签,这样可以确定在网页上填入的数据可以插入到Word文档相应的位置. 在项目中要声明 ...

  9. OpenXml SDK 2.0 创建Word文档 添加页、段落、页眉和页脚

    using (WordprocessingDocument objWordDocument = WordprocessingDocument.Create(@"C:\********.doc ...

随机推荐

  1. Notepad++常用快捷键

    Ctrl-H    打开Find / Replace 对话框 Ctrl-D    复制当前行 Ctrl-L    删除当前行 Ctrl-T    上下行交换 F3    找下一个 Shift-F3   ...

  2. python+SQLAlchemy+爬虫

    python+SQLAlchemy+爬虫 前面分享了SQLAlchemy的知识,这次我共享一下学习用python开发爬虫再把爬出来的数据放到用SQLAlchemy的数据库上面的知识,当然我这个是带测试 ...

  3. python语法_内置函数

    a = filter(函数名,序列) 返回一个迭代器对象/.函数里必须加过滤条件 ret = ['a','b','c','d','e'] def ft(s): if s != 'a': return ...

  4. XLua----热更新

    一.xLua 环境配置 1).Xlua中  Plugin  Xlua复制到 需要热更新的工程中---->Assets子目录 2).开启宏HOTFIX_ENABLE File---->bui ...

  5. 调研一类软件的发展演变( 1000-2000 words, in Chinese)

    WARING:大量个人观点,可靠性突出一个没有. 随着时代的发展,科技的用途也在发生着改变.最初,计算机是高端科学家用来计算导弹路线.模拟核弹爆炸用的,而现在计算机更多是平凡百姓家的一台娱乐设备.当今 ...

  6. 版本号严格遵守semver语义化标准

    地址:http://semver.org/lang/zh-CN/?spm=a219a.7629140.0.0.GUJMXE 语义化版本 2.0.0 摘要 版本格式:主版本号.次版本号.修订号,版本号递 ...

  7. [Swift]LeetCode43. 字符串相乘 | Multiply Strings

    Given two non-negative integers num1 and num2 represented as strings, return the product of num1and  ...

  8. [Swift]LeetCode468. 验证IP地址 | Validate IP Address

    Write a function to check whether an input string is a valid IPv4 address or IPv6 address or neither ...

  9. [SQL]LeetCode577.员工奖金 | Employee Bonus

    Select all employee's name and bonus whose bonus is < 1000. Table:Employee +-------+--------+---- ...

  10. [Swift]LeetCode766. 托普利茨矩阵 | Toeplitz Matrix

    A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given ...