查看: 2013|回复: 0

[ASP.NET教程] C#/VB.NET 给Word文档添加/撤销书签

发表于 2017-9-27 08:00:00

在现代办公环境中,阅读或者编辑较长篇幅的Word文档时,想要在文档中某一处或者几处留下标记,方便日后查找、修改时,需要在相对应的文档位置插入书签。那对于开发者而言,在C#或者VB.NET语言环境中,如何来快速、简便的插入书签呢,我分享一下我的经验。这里我用到了一款E-iceblue公司发布的一款免费的Word组件(Free Spire.Doc for .NET),方法很简单,如下:

步骤一:初始化Document实例并加载Word文档

  1. Document document = new Document();
  2. document.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦.docx ");
复制代码

步骤二:于第七段末和第八段间插入书签,命名书签为“C#.bookmark

  1. Section section = document.Sections[0];
  2. section.Paragraphs[7].AppendBookmarkStart("C#.bookmark");
  3. section.Paragraphs[8].AppendBookmarkEnd("C#.bookmark ");
复制代码

步骤三:保存文件

  1. document.SaveToFile("Bookmark.docx", FileFormat.Docx);
  2. System.Diagnostics.Process.Start("Bookmark.docx");
复制代码

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

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

完整代码如下,供参考:

C#

  1. using System;
  2. using Spire.Doc;
  3. using Spire.Doc.Documents;
  4. namespace WordBookmark
  5. {
  6. class Bookmark
  7. {
  8. static void Main(string[] args)
  9. {
  10. //Load Document
  11. Document document = new Document();
  12. document.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦.docx ");
  13. //Insert Bookmark
  14. Section section = document.Sections[0];
  15. section.Paragraphs[7].AppendBookmarkStart(".NETFramework");
  16. section.Paragraphs[8].AppendBookmarkEnd(".NETFramework");
  17. //Save and Launch
  18. document.SaveToFile("Bookmark.docx", FileFormat.Docx);
  19. System.Diagnostics.Process.Start("Bookmark.docx");
  20. }
  21. }
  22. }
复制代码

VB.NET:

  1. Imports System
  2. Imports Spire.Doc
  3. Imports Spire.Doc.Documents
  4. Namespace WordBookmark
  5. Class Bookmark
  6. Private Shared Sub Main(ByVal args() As String)
  7. 'Load Document
  8. Dim document As Document = New Document
  9. document.LoadFromFile("C:\Users\Administrator\Desktop\中国梦.docx ")
  10. 'Insert Bookmark
  11. Dim section As Section = document.Sections(0)
  12. section.Paragraphs(7).AppendBookmarkStart(".NETFramework")
  13. section.Paragraphs(8).AppendBookmarkEnd(".NETFramework")
  14. 'Save and Launch
  15. document.SaveToFile("Bookmark.docx", FileFormat.Docx)
  16. System.Diagnostics.Process.Start("Bookmark.docx")
  17. End Sub
  18. End Class
  19. End Namespace
复制代码

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

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

  1. Document doc = new Document();
  2. doc.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦(书签).docx");
复制代码

步骤二:撤销已有书签

  1. doc.Bookmarks.RemoveAt(0);
复制代码

步骤三:保存文件

  1. doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx);
  2. System.Diagnostics.Process.Start("Remove Bookmark.docx");
复制代码

撤销书签后,得到以下文档效果

  1. 如图,原本插入书签的段落已撤销书签
复制代码
  1. 完整代码如下
复制代码

C#

  1. using Spire.Doc;
  2. namespace Removing
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. //Load Document
  9. Document doc = new Document();
  10. doc.LoadFromFile(@"C:\Users\Administrator\Desktop\中国梦(书签).docx ");
  11. //Remove Bookmark
  12. doc.Bookmarks.RemoveAt(0);
  13. //Save and Launch
  14. doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx);
  15. System.Diagnostics.Process.Start("Remove Bookmark.docx");
  16. }
  17. }
  18. }
复制代码

VB.NET:

  1. Imports Spire.Doc
  2. Namespace Removing
  3. Class Program
  4. Private Shared Sub Main(ByVal args() As String)
  5. 'Load Document
  6. Dim doc As Document = New Document
  7. doc.LoadFromFile("C:\Users\Administrator\Desktop\中国梦(书签).docx ")
  8. 'Remove Bookmark
  9. doc.Bookmarks.RemoveAt(0)
  10. 'Save and Launch
  11. doc.SaveToFile("Remove Bookmark.docx", FileFormat.Docx)
  12. System.Diagnostics.Process.Start("Remove Bookmark.docx")
  13. End Sub
  14. End Class
  15. End Namespace
复制代码

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



回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条