0

Word文書の内容を読むためにdocx4jを使用しています。

core.xml には、description読んでいるドキュメントで変更したいタグがあります。

これを行う最善の方法は何ですか?ドキュメントのコンテンツ全体を読んで、docx4j を使用して新しいドキュメントを作成し、タグを変更する必要がありますか、またはドキュメントのコンテンツを変更および/または読み取り -> コピーせずにタグを変更descriptionする方法はありますか?description

4

1 に答える 1

0

コア props パーツを取得する方法については、64 行目のサンプルDocProps.javaを参照してください。

次に、次のようなものです。

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

次に、そのリストを変更します。JAXB でよくあることですが、これはライブ リストであるため、変更はドキュメントのメモリ内表現にすぐに反映されます。

または、新しい JAXBElement<SimpleLiteral> 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 を保存します。上記のリンクのサンプルはそれを行います。

于 2013-07-19T21:46:31.527 に答える