spire.doc支持提取、替换以及删除现有文档中的书签内容,在另外一篇文章中我们已经介绍过如何替换书签内容,本文将展示如何获取和删除书签内容。
获取书签中的文本
c#
//创建document实例
document doc = new document();
//加载word文档
doc.loadfromfile("书签.docx");
//创建bookmarksnavigator实例
bookmarksnavigator navigator = new bookmarksnavigator(doc);
//指向特定的书签
navigator.movetobookmark("bookmark_1");
//获取书签中的内容
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);
vb.net
'创建document实例
dim doc as document = new document
'加载word文档
doc.loadfromfile("书签.docx")
'创建bookmarksnavigator实例
dim navigator as bookmarksnavigator = new bookmarksnavigator(doc)
'指向特定的书签
navigator.movetobookmark("bookmark_1")
'获取书签中的内容
dim textbodypart as textbodypart = navigator.getbookmarkcontent
'遍历书签内容中的子项目,并将文本信息提取至string类型变量中
dim text as string = nothing
for each item in textbodypart.bodyitems
if (typeof item is paragraph) then
for each childobject in ctype(item,paragraph).childobjects
if (typeof childobject is textrange) then
text = (text ctype(childobject,textrange).text)
end if
next
end if
next
'控制台输出文本
console.writeline(text)
删除书签及书签内容
c#
//创建document实例
document doc = new document();
//加载word文档
doc.loadfromfile("书签.docx");
//创建bookmarksnavigator实例
bookmarksnavigator navigator = new bookmarksnavigator(doc);
//指向特定的书签
navigator.movetobookmark("bookmark_1");
//删除书签中的内容
navigator.deletebookmarkcontent(false);
//删除书签
doc.bookmarks.remove(doc.bookmarks.findbyname("bookmark_1"));
//保存文档
doc.savetofile("result.docx", fileformat.docx2013);
vb.net
'创建document实例
dim doc as document = new document
'加载word文档
doc.loadfromfile("书签.docx")
'创建bookmarksnavigator实例
dim navigator as bookmarksnavigator = new bookmarksnavigator(doc)
'指向特定的书签
navigator.movetobookmark("bookmark_1")
'删除书签中的内容
navigator.deletebookmarkcontent(false)
'删除书签
doc.bookmarks.remove(doc.bookmarks.findbyname("bookmark_1"))
'保存文档
doc.savetofile("result.docx", fileformat.docx2013)