cannot resolve XSLFImageRendener and XSLFRendering

2019-07-28 06:06发布

问题:

I am using example of conversion from pptx to svg. I took the code from PPTX2SVG

And added dependencies to my gradle application

compile "org.apache.poi:poi:$apachePoiVersion"
compile "org.apache.poi:poi-ooxml:$apachePoiVersion"
compile "org.apache.poi:poi-ooxml-schemas:$apachePoiVersion"

compile "org.apache.xmlgraphics:batik-svggen:$apacheBatikVersion"
compile "org.apache.xmlgraphics:batik-transcoder:$apacheBatikVersion"
compile "org.apache.xmlgraphics:batik-svg-dom:$apacheBatikVersion"

However it is unable to resolve classes XSLFImageRendener and XSLFRenderingHint.

What dependencies are missing? As there is no imports in the example code I assume that it should be in org.apache.poi.xslf.usermodel package

I am using poi=3.16 and batik=1.9

回答1:

The official note:

Please note that XSLF is still in early development and is a subject to incompatible changes in a future release.

So POI 3.16 is not compatible with 3.15.

I fix the compatibility and rewrite the PPTX2SVG.java at Github:

https://gist.github.com/ji-zhou/37f8a40fc1c889563736c82cb270921f