如何使用Docx4J获取Word 2010文档中字符串的行号,页号

时间:2014-06-25 07:30:31

标签: java ms-word docx4j

我正在使用Docx4J处理单词2010 Document。我想打印我正在搜索的字符串的页码和行号。

例如:

我的文档在第2页第6页上有一个名为hello的字符串。我的o / p应该是这样的。

你好在第2页 - 第4行, 你好在第6页 - 第6行找到。

我试过但我失败了。

我能够突出显示该文本并能够通过浏览文档进行评论。但我没有得到它的行号和页码。

注意:1)有两页空白页面第3页和第4页。        2)页面末尾没有段落。

1 个答案:

答案 0 :(得分:0)

您所追求的是页面布局模型,因为为了准确地确定某个页面或行是什么,您需要考虑映射的纸张大小,页眉,页脚,装订线,边距,字体和大小,行高等等。

这不是docx4j所具有的,所以你需要提出一些东西(基本的单词计数会更简单:你可以计算文档中的所有Text个对象)。

一种方法可能是考虑docx4j中的PDF呈现功能如何工作。看看docx4j中的FOP渲染代码,它可能提供一些重新映射页面的线索:

https://github.com/plutext/docx4j/tree/master/src/main/java/org/docx4j/convert/out/fo