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



所以我正在尝试获取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) 位置:变量 flatOpcWorker 的类型为 org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator

我的项目 docx4j 有一个 FlatOpcXmlCreator 来做到这一点;请参阅 ConvertOutFlatOpenPackage 示例

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

最新更新