当前位置: 首页 > 知识库问答 >
问题:

使用docx4j解析DOCX时,如何检测org.docx4j.wml.instrText?

殳俊晤
2023-03-14

我想用docx4j库解析一个docx文件。

我需要检测org.docx4j.wml.instrText对象,但实际上它返回org.docx4j.wml.Text而不是org.docx4j.wml.instrText.

我在这里找到了一个与此库的旧版本一起使用的解决方案:

http://www . docx 4 Java . org/forums/docx-Java-F6/can-I-just-t-load-contents-of-w-instr text-into-text-t193 . html

实际上,这个解决方案:

 ((javax.xml.bind.JAXBElement)((org.docx4j.wml.Text) o).getParent()).getName().getLocalPart()

但是在最新的更新中,它不起作用。你能告诉我这个代码需要做什么更改吗?

实际上,它犯了一个类型转换错误,无法将org.docx4j.wml.R转换为JAXBElement。

提前致谢。

共有1个答案

令狐泓
2023-03-14

文本对象的父对象,由以下项给出:

 ((org.docx4j.wml.Text) o).getParent()

正如错误所说,是org.docx4j.wml.R,不能将其转换为JAXBElement。

要在这种情况下识别您的对象,请尝试:

((javax.xml.bind.JAXBElement)o).getName().getLocalPart()
 类似资料:
  • 我今天开始使用docx4j; Hello Word 我在StackOverflow和Web上进行了搜索,并尝试了找到的几乎所有示例,但信息非常零散,在深入挖掘之前,我想至少知道我的方向是否正确。 我已经向Maven添加了jar,但是在文档中它声明内容必须是格式良好的XHTML,而我只有一堆文本和HTML混合在一起。

  • 我正在尝试使用docx4j API强制使用docx文件的权限。 文件有两个文档保护选项。

  • null 很抱歉,我无法发布我尝试过的任何内容,因为我还没有在此任务上尝试过任何内容,尽管我使用将从获得的转换为,以便在应用程序的中输出。请开导我,我在压力和困惑中迷失了……!

  • 我正试图用Docx4J将一个DOCX文件转换为PDF,并收到两个不同文档的两个不同的异常。 1)对于文档1,第一个文档的org.docx4j.utils.singletRaversAlutilVisitorCallback.apply(SingletRaversAlutilVisitorCallback.java:27)中出现一个NullPointerException。 下面包含的代码是否是在P

  • 问题内容: 在我的应用程序中,我正在比较两个docx文件并创建一个html比较文件,当我尝试使用150行或170行以下的文件时,则没有问题,而我尝试比较的是200行或更多的大文件,那么时间显示 有人可以帮忙吗? 问题答案: 由于没有使用Docx4jDriver类,因此内存不足,这使得diff问题更容易解决,方法是先执行段落级别的diff。 像这样使用它: