 <p>For everyone, who faced this problem too.</p> <p>Here are necessary steps to make docx4j works fine with images:</p> <ol> <li>Add missed classes from OpenJDK to appropriate packages with <code>ae</code>.</li> <li>Change references to new classes, for example <code>sun.awt.AppContext</code> to <code>ae.sun.awt.AppContext</code>.</li> <li><p>In <code>org.apache.xmlgraphics.util.Service</code> manually fill list with preloaders:</p> <pre><code>private static List&lt;String&gt; getProviderNames(Class&lt;?&gt; cls, ClassLoader cl) { ... if (fillDefautsProviderNames(cls, l)) return l; ... } private static boolean fillDefautsProviderNames(Class&lt;?&gt; cls, List&lt;String&gt; l) { if (cls == org.apache.xmlgraphics.image.loader.spi.ImagePreloader.class) { l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF"); l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderGIF"); l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG"); l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderBMP"); l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderEMF"); l.add("org.apache.xmlgraphics.image.loader.impl.PreloaderEPS"); l.add("org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO"); return true; } return false; } </code></pre></li> <li><p>Delete function <code>displayImageInfo(ImageInfo info)</code> in <code>org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage</code>.</p></li> </ol> <p>I've prepared repositories with changes: <a href="https://github.com/kirik88/ae-awt" rel="nofollow">ae-awt</a>, <a href="https://github.com/kirik88/ae-xmlgraphics-commons" rel="nofollow">ae-xmlgraphics-commons</a>, <a href="https://github.com/kirik88/docx4j/tree/android" rel="nofollow">docx4j-android</a>.</p> <p>You can find compiled libs here: <a href="http://yadi.sk/d/bU7a1Dv4QQ6S8" rel="nofollow">docx4j_images_prepared_libs.zip</a></p> <p>Enjoy!</p>