Преобразование и OPC (Open Packaging Convention) файл в плоский XML-файл в JAVA

Поэтому я пытаюсь получить XML-версию OPC-документа в виде простого файла.

Я использую OPCPackage из org.apache.poi.openxml4j

В 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()));

Так вот фрагмент кода, и это приводит к ошибке компиляции:

не удается найти символ символа: маршал метода (java.io.FileOutputStream) расположение: переменная flatOpcWorker типа org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator

1 ответ

Решение

Мой проект docx4j имеет FlatOpcXmlCreator, который делает это; см. образец ConvertOutFlatOpenPackage

Если вы хотите использовать его с POI (который использует XML Beans, а не JAXB), я думаю, вы могли бы его портировать. Оба проекта являются ASL, и оба выполняют часть OPC, основанную на OpenXML4J.

Другие вопросы по тегам