我正在使用Android并使用docx4j将docx,pptx和xlsx文件查看到我的应用程序中。
我无法查看ppt文件。我在SvgExporter类中遇到编译时错误。在docx4j库中没有。
如何获取SvgExporter类库并构建我的应用程序并在webview上加载Svghtml以获取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 :(得分:0)
SvgExporter使用XSLT和Xalan扩展函数来完成它。
IIRC,让Xalan在Android上运行时遇到了问题(你应该自己验证一下)。如果仍然如此,那么你需要编写一个SvgExporter版本,它在Java代码中进行遍历,而不是依靠Xalan来实现这一点。
这应该是可行的; docx4j代码库中有“NonXSLT”示例。