1

私はAndroidで作業しており、docx4jを使用してdocx、pptx、およびxlsxファイルをアプリケーションに表示しています。

ppt ファイルを表示できません。SvgExporter クラスでコンパイル時エラーが発生します。docx4j ライブラリにはありません。

SvgExporter クラス ライブラリを取得してアプリケーションをビルドし、Svghtml を取得して ppt ファイルの webview にロードするにはどうすればよいですか? 私のコードは次のとおりです。

    String inputfilepath = System.getProperty("user.dir") + "/sample-docs/pptx/pptx-basic.xml";

    // Where to save images
    SvgExporter.setImageDirPath(System.getProperty("user.dir") + "/sample-docs/pptx/");

    PresentationMLPackage presentationMLPackage = 
        (PresentationMLPackage)PresentationMLPackage.load(new java.io.File(inputfilepath));     

    // TODO - render slides in document order!
    Iterator partIterator = presentationMLPackage.getParts().getParts().entrySet().iterator();
    while (partIterator.hasNext()) {

        Map.Entry pairs = (Map.Entry)partIterator.next();

        Part p = (Part)pairs.getValue();
        if (p instanceof SlidePart) {

            System.out.println(
                    SvgExporter.svg(presentationMLPackage, (SlidePart)p)
                    );
        }
    }

    // NB: file suffix must end with .xhtml in order to see the SVG in a browser
}   
4

1 に答える 1

0

SvgExporter は、XSLT および Xalan 拡張関数を使用して処理を行います。

IIRC によると、Xalan を Android で動作させるには問題がありました (これは自分で確認する必要があります)。

その場合は、Xalan に依存するのではなく、Java コードでトラバーサルを行うバージョンの SvgExporter を作成する必要があります。

それはかなり実現可能です。docx4j コード ベースに「NonXSLT」の例があります。

于 2013-06-27T11:12:49.687 に答える