gpt4 book ai didi

ms-word - 如何使用 Apache POI 从 MS word 文档的文本框中获取文本?

转载 作者:行者123 更新时间:2023-12-02 01:20:29 92 4
gpt4 key购买 nike

我想在 MS word 文档中获取在文本框中写入的信息。我正在使用 Apache POI 来解析 word 文档。

目前我正在遍历所有 Paragraph 对象,但此 Paragraph 列表不包含来自 TextBox 的信息,因此我在输出中丢失了此信息。

例如

paragraph in plain text

**<some information in text box>**

one more paragraph in plain text

我要提取的内容:

<para>paragraph in plain text</para>

<text_box>some information in text box</text_box>

<para>one more paragraph in plain text</para>

我目前得到的:

纯文本段落

再写一段纯文本

有人知道如何使用 Apache POI 从文本框中提取信息吗?

最佳答案

这对我有用,

    private void printContentsOfTextBox(XWPFParagraph paragraph) {

XmlObject[] textBoxObjects = paragraph.getCTP().selectPath("
declare namespace w='http://schemas.openxmlformats.org/wordprocessingml/2006/main'
declare namespace wps='http://schemas.microsoft.com/office/word/2010/wordprocessingShape'
declare namespace v='urn:schemas-microsoft-com:vml'
.//*/wps:txbx/w:txbxContent | .//*/v:textbox/w:txbxContent");

for (int i =0; i < textBoxObjects.length; i++) {
XWPFParagraph embeddedPara = null;
try {
XmlObject[] paraObjects = textBoxObjects[i].
selectChildren(
new QName("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "p"));

for (int j=0; j<paraObjects.length; j++) {
embeddedPara = new XWPFParagraph(
CTP.Factory.parse(paraObjects[j].xmlText()), paragraph.getBody());
//Here you have your paragraph;
System.out.println(embeddedPara.getText());
}

} catch (XmlException e) {
//handle
}
}

}

关于ms-word - 如何使用 Apache POI 从 MS word 文档的文本框中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5457771/

92 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com