C#/VB.NET 给Word文档添加/撤销书签
在现代办公环境中,阅读或者编辑较长篇幅的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文档添加/撤销书签的更多相关文章
- 如何通过C#/VB.NET设置Word文档段落缩进
缩进是指调整文本与页面边界之间的距离.在水平标尺,有四个段落缩进滑块:首行缩进.悬挂缩进.左缩进以及右缩进.在对于word文档的录入时,常常需要注意录入的格式,通过合理地设置段落格式,可以让文稿看起来 ...
- C# 给Word文档添加内容控件
C# 给Word文档添加内容控件 在MS Word中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片.日期.列表或格式化的文本等),从而创建一个结构化的word ...
- OpenXml入门----给Word文档添加文字
使用OpenXml给word文档添加文字,每个模块都有自己对于的属性以及内容,要设置样式就先声明属性对象,将样式Append到属性里面,再将属性append到模块里面,那么模块里面的内容就具备该样式了 ...
- 向Docx4j生成的word文档添加图片和布局--第一部分
原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...
- Java 如何给Word文档添加多行文字水印
前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...
- C#/VB.NET 在Word文档中插入分页符
分页符是分页的一种符号,上一页结束以及下一页开始的位置.通查用于在指定位置强制分页.本文将分为两部分来介绍如何在Word文档中插入分页符.并附上C#/VB.NET以供参考,详情请阅读以下内容. 在特定 ...
- C# 操作Word 文档——添加Word页眉、页脚和页码
在Word文档中,我们可以通过添加页眉.页脚的方式来丰富文档内容.添加页眉.页脚时,可以添加时间.日期.文档标题,文档引用信息.页码.内容解释.图片/LOGO等多种图文信息.同时也可根据需要调整文字或 ...
- .NET 动态向Word文档添加数据
本文章主要用于在网页上填写数据动态填入Word模板中使用 首先要准备一个Word模板,然后在需要插入数据的位置插入书签,这样可以确定在网页上填入的数据可以插入到Word文档相应的位置. 在项目中要声明 ...
- OpenXml SDK 2.0 创建Word文档 添加页、段落、页眉和页脚
using (WordprocessingDocument objWordDocument = WordprocessingDocument.Create(@"C:\********.doc ...
随机推荐
- R语言S3类的理解与构建
R语言类 R语言的类有S3类和S4类,S3类用的比较广,创建简单粗糙但是灵活,而S4类比较精细,具有跟C++一样严格的结构.这里我们主要讲S3类. S3类的结构 S3类内部是一个list,append ...
- CentOS7 防火墙(firewall)的操作命令(转)
安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firew ...
- cadence电路板布线
设置完约束规则后,便可以开始电路板的布线工作.
- hive-issue-inserting-records-to-partitioned-table
hive-issue-inserting-records-to-partitioned-table Hi Sam, Recently we upgraded our cluster from HDP2 ...
- framework7 入门(数据获取和传递)
数据获取 framework7自带request方法 , var app = new Framework7({...});app.request(parameters) 或者 Framework7.r ...
- Burp Suite Pro 教程
1.Burp Suite Pro2.0.11破解版-2018.11.06更新 说明基地址 来源:http://ximcx.cn/post-110.html 启动;如果是用的burp2.0,把下面的代码 ...
- 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常 ...
- [Swift]LeetCode99. 恢复二叉搜索树 | Recover Binary Search Tree
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- [Swift]LeetCode381. O(1) 时间插入、删除和获取随机元素 - 允许重复 | Insert Delete GetRandom O(1) - Duplicates allowed
Design a data structure that supports all following operations in averageO(1) time. Note: Duplicate ...
- ubuntu配置https
# 重定向 http 到 https server { listen 80; server_name www.domain.com; rewrite ^(.*)$ https://$server_na ...