OPCドキュメントのフラットファイルXMLバージョンを取得しようとしています。JAVAのOPC(Open Packaging Convention)ファイルとフラットXMLファイルの変換
私はあなたがこのZIPファイルからフラットXMLファイルを作成し、コールがあるC++ではorg.apache.poi.openxml4j
からOPCPackageを使用しています。
誰でもJavaでこれを行う方法を知っていますか?
また、OPCやJavaに関連した良い読書はすばらしいでしょう。
どうもありがとう
乾杯
UPDATE:私は唯一の答えに行われたコメントに関連した...
コード
// 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()));
そうthatsのコードスニペット、それが結果にコンパイルエラー:
はシンボルsymbolを見つけることができません:メソッドマーシャル(java.io.FileOutputStreamは)場所:変数の型のflatOpcWorker org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator
問題はこれがdocxではないということです。 OPCベースのフォーマット。 OPCの一般的なフォーマットでうまくいくのだろうか。 Docxがどのようにあなたのプロジェクトであるかわからないので私は尋ねています。そして、docx opcが他のopcベースのフォーマットと異なっているかどうかは分かりません。 – grobartn
docxに固有のものは何もなく、コンストラクタはOpcPackageを受け取り、pptxとxlsxで動作しテストされています。方法マーシャル(java.io.FileOutputStreamは) 場所:変数flatOpcWorker – JasonPlutext
ので、私はあなたの例をしようとしていますし、私はこの行のエラー worker.marshal(新規のFileOutputStream(outputfilepath) を取得するには、マーシャルは「シンボル シンボルを見つけることができないと言いますタイプがorg.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator " あなたはなぜそれがそうであるかを知っています – grobartn