小编典典

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

java

我正在使用docx4j读取Word文档的内容。

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

最好的方法是什么?我是否必须阅读文档的全部内容并使用docx4j创建一个新文档并更改description标签,或者是否可以仅更改description标签而不修改和/或阅读->复制文档的内容?


阅读 343

收藏
2020-11-30

共1个答案

小编典典

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

然后是这样的:

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

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

或者,您可以创建一个新的JAXBElement
desc2,然后创建coreProps.setDescription(desc2)。这就是您要为尚没有dc:description的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。上面链接的示例可以做到这一点。

2020-11-30