【发布时间】:2019-12-19 17:00:09
【问题描述】:
我们正在构建一个 java 代码来使用 apache POI 将 word 文档 (.docx) 读入我们的程序。 当我们在文档中遇到公式和化学方程式时,我们会卡住。 然而,我们设法阅读了公式,但我们不知道如何在相关字符串中找到它的索引..
输入(格式为*.docx)
text before formulae **CHEMICAL EQUATION** text after
我们设计的输出(格式应为HTML)
text before formulae text after **CHEMICAL EQUATION**
我们无法获取字符串并重建为原始形式。
问题
现在有什么方法可以定位图像和公式在剥离线内的位置,以便在重建字符串后将其恢复为原始形式,而不是附加它在字符串的末尾。?
【问题讨论】:
-
Word中的方程不是字符串。在Office Open XML(*.docx) 他们是Office MathML (OMML)。所以这个问题的答案取决于你需要的text before formulae **CHEMICAL EQUATION** text after的格式。如前所述,它不能是纯文本。但是您当前的结果text before formulae text after **CHEMICAL EQUATION**也不能是纯文本。那么它是什么格式呢? -
XWPFParagraph paragraph; for (CTOMath ctomath : paragraph.getCTP().getOMathList()) { formulas=formulas + getMathML(ctomath); }使用上面的代码,它能够从 docx 文件的给定段落中提取数学公式。同样为了在 html 页面中显示公式,我将其转换为 mathml 代码并在页面上使用 MathJax 呈现它。这是我能做到的。 -
但问题是,是否可以得到公式在给定段落中的位置。这样我就可以在段落中的确切位置显示公式,同时将其呈现为 html 页面。
-
所以需要的格式是
HTML?这应该在问题中提及。
标签: java apache-poi position formula equation