如何修改docx文档的描述标记

时间:2013-07-19 21:10:39

标签: java docx4j

我正在使用docx4j来阅读word文档的内容。

core.xml有一个description标签,我想在我正在阅读的文件中进行修改。

最好的方法是什么?我是否必须阅读文档的全部内容并使用docx4j创建新文档并更改description标记,或者是否可以更改description标记而无需修改和/或阅读 - &gt ;复制文件的内容?

1 个答案:

答案 0 :(得分:0)

请参阅第64行的示例DocProps.java,了解如何获取核心道具部分。

然后就像:

    JAXBElement<SimpleLiteral> desc = coreProps.getDescription();
    SimpleLiteral literal = XmlUtils.unwrap(desc);
    List<String> contents = literal.getContent();

然后修改该列表。与JAXB一样,它是一个实时列表,因此您的更改将立即显示在文档的内存中。

或者你可以创建一个新的JAXBElement&lt; SimpleLiteral&gt; desc2,然后是coreProps.setDescription(desc2)。这就是你为没有dc:描述的docx所做的事情:

    org.docx4j.docProps.core.dc.elements.ObjectFactory dcFactory = new org.docx4j.docProps.core.dc.elements.ObjectFactory();
    SimpleLiteral literal = dcFactory.createSimpleLiteral();
    coreProps.setDescription(dcFactory.createDescription(literal));
    List<String> contents = literal.getContent();
    // populate contents ...

然后保存docx。上面链接的样本就是这样做的。