Word .NET库组件Spire.Doc系列教程(31): 添加,替换和删除 Word 书签
Spire.Doc for .NET是一个专业的Word .NET库,设计用于帮助开发人员高效地开发创建、阅读、编写、转换和打印任何来自.NET( C#, VB.NET, ASP.NET)平台的Word文档文件的功能。
本系列教程将为大家带来Spire.Doc for .NET在使用过程中的各类实际操作,本篇文章介绍了如何在Word中添加,替换和删除 Word 书签。>>下载Spire.Doc最新试用版体验
C# 添加,替换和删除 Word 书签
书签可以用于标识指定文本的位置。在Word文档中,我们可以对指定内容添加书签,修改或替换现有书签的内容,如果不再需要一个书签了,也可以很容易的删除它。
添加书签
Spire.Doc提供了一个类Paragraph,在该类中有两个方法AppendBookmarkStart (string name) 和 AppendBookmarkEnd (string name) 可以帮助我们添加书签到指定的段落,其中BookmarkStart代表书签的起始位置,BookmarkEnd代表书签的结束位置。
//加载文档 Document document = new Document(); document.LoadFromFile(@"向日葵.docx"); //添加书签 “bookmark” Section section = document.Sections[0]; section.Paragraphs[5].AppendBookmarkStart("bookmark"); section.Paragraphs[6].AppendBookmarkEnd("bookmark"); //保存文档 document.SaveToFile("添加书签.docx", FileFormat.Docx);
替换书签
BookmarkNavigator用于导航到书签,通过它我们可以获取,替换和删除指定书签的内容。此外,Spire.Doc还支持在替换书签时保留原书签的格式,仅需要将ReplaceBookmarkContent (TextBodyPart bodyPart, bool isKeepSourceFirstParaFormat, bool saveFormatting) 方法中的相关参数设置为true。
//加载文档 Document document = new Document(); document.LoadFromFile(@"添加书签.docx"); //添加一个section到文档 Section sec = document.AddSection(); //添加两个段落到section sec.AddParagraph().AppendText("Welcome Back, "); sec.AddParagraph().AppendText("Friend! "); //获取段落内容 ParagraphBase firstReplacementParagraph = sec.Paragraphs[0].Items.FirstItem as ParagraphBase; ParagraphBase lastReplacementParagraph = sec.Paragraphs[sec.Paragraphs.Count - 1].Items.LastItem as ParagraphBase; TextBodySelection selection = new TextBodySelection(firstReplacementParagraph, lastReplacementParagraph); TextBodyPart part = new TextBodyPart(selection); //移动到书签 “bookmark”, 删除它的内容并保留格式 BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); bookmarkNavigator.MoveToBookmark("bookmark", true, true); bookmarkNavigator.DeleteBookmarkContent(true); //用新添加段落的内容替换掉原书签的内容并保留格式 bookmarkNavigator.ReplaceBookmarkContent(part, true, true); //移除section并保存文档 document.Sections.Remove(sec); document.SaveToFile("替换书签.docx");
删除书签
在Spire.Doc中,每一个Word文档都含有一个书签的集合,我们可以通过Document类的Bookmarks属性来访问该集合,并可以通过该集合的FindByName(string name)方法来查找指定的书签,然后将其删除。
//加载文档 Document document = new Document(); document.LoadFromFile(@"添加书签.docx"); Bookmark bookmark = document.Bookmarks.FindByName("bookmark"); //移除书签 “bookmark” document.Bookmarks.Remove(bookmark); //保存文档 document.SaveToFile("删除书签.docx", FileFormat.Docx);
推荐阅读:【想要快速完成文档格式转换吗?Spire系列组件格式转换完整攻略来啦!】
*购买Spire.Doc正版授权的朋友可以点击哦~~