在现代办公环境中,阅读或者编辑较长篇幅的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# 给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# 操作Word 文档——添加Word页眉、页脚和页码
在Word文档中,我们可以通过添加页眉.页脚的方式来丰富文档内容.添加页眉.页脚时,可以添加时间.日期.文档标题,文档引用信息.页码.内容解释.图片/LOGO等多种图文信息.同时也可根据需要调整文字或 ...
-
.NET 动态向Word文档添加数据
本文章主要用于在网页上填写数据动态填入Word模板中使用 首先要准备一个Word模板,然后在需要插入数据的位置插入书签,这样可以确定在网页上填入的数据可以插入到Word文档相应的位置. 在项目中要声明 ...
-
OpenXml SDK 2.0 创建Word文档 添加页、段落、页眉和页脚
using (WordprocessingDocument objWordDocument = WordprocessingDocument.Create(@"C:\********.doc ...
-
OpenXml入门----给Word文档添加表格
下面将展示如何使用Openxm向Word添加表格. 代码中表头和数据我用的同一个TableRow来添加,其实可以通过TableHeader来,其实都一样.后面教程我会给出如何设置单元格样式.表头那一行 ...
-
怎样把Word文档导入Excel表格
Word是现在办公中的基础文件格式了,很多的内容我们都通过Word来进行编辑,那么当我们需要将Word文档里的信息导入到Excel里面的时候,我们应该怎样做呢?下面我们就一起来看一下吧. 操作步骤: ...
随机推荐
-
ResponsibleChain(责任链模式)
/** * 责任链模式 * @author TMAC-J * 老板讲任务交给CTO,CTO自然不会亲自去做,又把人物分配给项目经理,项目经理再把任务分配给组长,组长再分配给个人 * 如果中途哪个环节出 ...
-
Replication
Peer-to-peer replication: http://msdn.microsoft.com/en-us/library/ms151196(v=sql.120).aspx Merge rep ...
-
关于json序列化和反序列的问题,没事写个案例,希望能帮到那些需要帮忙的朋友!
现在关于json的读写问题,有许许多多的解决方法,因人而异,根据实际问题去选择自己想要的最容易方法.我觉得自带的Newtonsoft.Json是个不错的选择,随便写两个例子吧! 一:关于简单的json ...
-
git寻根——^和~的区别
一. 引子 在git操作中,我们可以使用checkout命令检出某个状态下文件,也可以使用reset命令重置到某个状态,这里所说的“某个状态”其实对应的就是一个提交(commit). 我们可以把一个g ...
-
转:Python requests 快速入门
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...
-
【转】linux /usr/bin/ld cannot find 解决
原文网址:http://blog.csdn.net/mzwang123/article/details/6702889 问题:在linux环境编译应用程式或lib的source code时常常会出现如 ...
-
【转】gcc warning: braces around scalar initializer (标量初始化的括号)
原文网址:http://*.com/questions/3462513/gcc-warning-braces-around-scalar-initializer I have ...
-
【转】Android虚拟平台的编译和整合
原文网址:http://blog.csdn.net/rickleaf/article/details/6369065 概要 Android从2008年开始到本文写的2011年,短短三年的时间里成为手机 ...
-
MySQL中的内置系统函数
一.字符串函数 1. CONCAT(S1,S2....SN): 把传入的参数连接成一个字符串 2. INSERT(str, x, y, insert): 将字符串 X位置开始,y个字符串长度替换为 ...
-
IIC_slaver 仿真错误
integer 类型不能直接赋值. 改正之后的代码