java - 将 OPC(开放打包约定)文件转换为 JAVA 中的平面 XML 文件

标签 java openxml docx4j open-packaging-convention

所以我正在尝试获取 OPC 文档的平面文件 XML 版本。

我正在使用 org.apache.poi.openxml4j 中的 OPCPackage

在 C++ 中,有一个调用可以从此压缩文件创建平面 XML 文件。

有人知道如何在 Java 中做到这一点吗?

此外,任何与 OPC 和 Java 相关的好读物都很棒。

非常感谢

干杯

更新:与我仅回答的评论相关...

代码

    // imports
    import org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator;
    import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

    // code snippet
    WordprocessingMLPackage wmlPkg = null;
    try 
    {
        wmlPkg = WordprocessingMLPackage.load(inFile);
    } 
    catch (Docx4JException ex) 
    {
        //...
    }

    FlatOpcXmlCreator flatOpcWorker = new FlatOpcXmlCreator((wmlPkg));

    flatOpcWorker.marshal(new FileOutputStream(tmpFlatFile.getAbsolutePath()));

这就是代码片段,它会导致编译错误:

找不到符号符号:方法 marshal(java.io.FileOutputStream) 位置:org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator 类型的变量 flatOpcWorker

最佳答案

我的项目 docx4j 有一个 FlatOpcXmlCreator 可以执行此操作;请参阅ConvertOutFlatOpenPackage sample

如果您想将它与 POI(使用 XML Bean,而不是 JAXB)一起使用,我想您可以移植它。这两个项目都是ASL,并且都基于OpenXML4J 完成OPC 部分。

关于java - 将 OPC(开放打包约定)文件转换为 JAVA 中的平面 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112775/

相关文章:

java - 如何使用 Docx4j Java 从 Ms word 合并字段获取值

java - DOCX4J 插入换行符

c# - 在 C# 生成中调试损坏的 OpenXML word 文档的最佳实践

java - EBNF/半熟 : how to translate regexp into PEG?

java - 线程 "main"org.jasypt.exceptions.EncryptionOperationNotPossibleException 中出现异常

java - Android 中的通知处理

c# - 使用 C# 和 OpenXML 在 xlsx 文件中写入时,Excel 单元格文本被修剪

c# - 从打开的 xml Word 文档主要部分中检索特定的表格元素

java - 如何使用 docx4j 将特定符号写入 Docx 文件

java - 即使出现异常,flyway 还能继续执行脚本吗?