这篇文章主要介绍了java和javascript获取word文档的书签位置代码对比,需要的朋友可以参考下
1.javascript:把IE浏览器的activex都打开,使用如下网页,可以看到书签顺序和位置:
<html>
<head>
<script>
var word;
word = new ActiveXObject("Word.Application");
var range = word.Range;
word.Visible = true;
var path = "D:\\xxx\\xxx\\xx.doc";
word.Documents.Open(path);
for(var i=1;i<=word.ActiveDocument.Bookmarks.count;i++){
document.write(word.ActiveDocument.Bookmarks(i).Name);
document.write(" ");
document.write(word.ActiveDocument.Bookmarks(i).Range.BookmarkID);
document.write("</br>");
}
</script>
</head>
<body>
</body>
</html>
java:用poi打开,这里用的是.doc文件,所以用旧一套poi的API,如果是docx,原理是一样的。
FileInputStream in = new FileInputStream("D:\\xxx\\xxx\\xx.doc");
HWPFDocument doc = new HWPFDocument(in);
Bookmarks bookmarks = doc.getBookmarks();
for(int i=0,j=bookmarks.getBookmarksCount();i<j;i++){
Bookmark bookmark = bookmarks.getBookmark(i);
System.out.println(bookmark.getName());
System.out.println(i);
System.out.println(bookmark.getStart());
}
|