On <http://www.iisd.org/pdf/2004/sci_cec.ppt>, there's a picture of type 7. Previously this was throwing a Runtime exception in java.lang.RuntimeException: Unsupported picture type: 7 at org.apache.poi.hslf.usermodel.PictureData.create(PictureData.java:178) at org.apache.poi.hslf.HSLFSlideShow.readPictures(HSLFSlideShow.java:274) at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:134) I've changed the code to print a warning but not die, but it might be good to support picture type 7 if we can figure out what it is, or otherwise just blindly carry the picture data around in a dummy record.
type=7 is Windows DIB. I thought it is obsolete and not supported. In PowerPoint 1997 and later DIBs are automatically converted into PNG. I will look into it later. Thanks. Yegor
Hi Nick, I implemented the support of DIB in HSLF. Now HSLF can handle all types of pictures defined in the escher documentation: EMF, WMF, PICT, JPEG, PNG and DIB. The code works fine with http://www.iisd.org/pdf/2004/sci_cec.ppt, all images including DIBs are extracted. Regards, Yegor
Created attachment 19015 [details] patch with the changes
Created attachment 19016 [details] modified code
Excellent, thanks for fixing that. Patch applied