我正在尝试使用docx4j从docx文件中提取文本。 到目前为止,我可以提取所有书面文本和图像,但我在提取编号标题(如下所示)和列表时遇到问题。
1. Heading 1
text....
1.1 Heading 2
text....
text....
2. Heading 1
text....
2.1 Heading 2
....
a)
b)
c)
打开docx文件,在documents.xml中,我发现所有这些标题和列表都在numPr标记内。
“1.标题”是
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="2"/>
</w:numPr>
“1.1 Header”是
<w:numPr>
<w:ilvl w:val="1"/>
<w:numId w:val="2"/>
</w:numPr>
a),b),c)列表是
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="22"/>
</w:numPr>
...
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="22"/>
</w:numPr>
...
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="22"/>
</w:numPr>
我的问题是:是否有一种简单的方法来获取这些标题文本(1.; 1.1; a)......)?使用P.toString()或使用JAXBElement进行简单的提取只会给出段落中的书面文本而不是列表。 或者我如何将标签转换为文本?
谢谢!
答案 0 :(得分:1)
listnumbering Emulator class计算出数字是什么。
用于(X)HTML和PDF输出。
您可以直接自己使用;你可以尝试的另一种方法是使用FOP的TXT输出。使用带有setApacheFopMime的FOSettings对象尝试Docx4J.toFO(&#34; text / plain&#34;)
如果您尝试使用FOP的TXT格式,请注意从http://apache-fop.1065347.n5.nabble.com/About-the-format-TXT-td37351.html
链接的有关推荐设置的建议