2013-06-24 83 views
1

我正在使用Android並使用docx4j查看我的應用程序中的docx,pptx和xlsx文件。如何使用Docx4j在Android視圖中顯示ppt文件?

我無法查看ppt文件。我在SvgExporter類獲得編譯時錯誤。這在docx4j庫中不存在。

如何獲取SvgExporter類庫並構建我的應用程序並獲取Svghtml以在webview上爲ppt文件加載?我的代碼如下:

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 
} 

回答

0

SvgExporter使用XSLT和Xalan擴展函數來完成它的工作。

IIRC,Xalan在Android上工作時出現問題(您應該自己驗證一下)。

如果仍然如此,那麼您需要編寫一個在Java代碼中執行遍歷的SvgExporter版本,而不是依靠Xalan來執行此操作。

這應該是相當可行的;在docx4j代碼庫中有「NonXSLT」示例。

相關問題