阅读Word书签

时间:2014-01-05 02:11:43

标签: c# asp.net asp.net-mvc ms-word openxml

可以告诉我如何使用openXml 2.0在单词2010文档中实现所有书签。我使用Microsoft.Office.Interop.Word来阅读书签,但我无法部署我的网站,因为它有问题,所以我切换到openxml任何人都可以告诉我如何阅读所有书签

2 个答案:

答案 0 :(得分:1)

你可以遍历所有

file.MainDocumentPart.RootElement.Descendants<BookmarkStart>()

像:

IDictionary<String, BookmarkStart> bookmarkMap = 
     new Dictionary<String, BookmarkStart>();

// get all
foreach (BookmarkStart bookmarkStart in file.MainDocumentPart.RootElement.Descendants<BookmarkStart>())
{
    bookmarkMap[bookmarkStart.Name] = bookmarkStart;
}

// get their text
foreach (BookmarkStart bookmarkStart in bookmarkMap.Values)
{
  Run bookmarkText = bookmarkStart.NextSibling<Run>();
  if (bookmarkText != null)
  {
      string bookmarkText = bookmarkText.GetFirstChild<Text>().Text;
  }
}

https://stackoverflow.com/a/3318381/28004

中提取的代码

答案 1 :(得分:0)

试试这个。我在我的项目中使用过它

http://www.legalcube.de/post/Word-openxml-sdk-bookmark-handling.aspx