Hi

> For instance, if there are 3 pictures, being 2 of them the same picture,
> the returned vector length is 2.

It's how it is supposed to work. HSLFSlideShow.getPictures() returns the actual 
array of images contained in the presentation.
Each image is included only once regardless of how many times you have it in 
the slides.


> What can I do to get the real images number?

It looks like you need the number of images shapes, not the number of actual 
images contained in the ppt.

See the code:

        SlideShow ppt = new SlideShow(new HSLFSlideShow("images.ppt"));

        //images contained in this slide show
        PictureData[] pict = ppt.getPictureData();

        //get the number of image shapes
        int imageCount = 0;
        Slide[] slide = ppt.getSlides();
        for (int i = 0; i < slide.length; i++) {
            Shape[] sh = slide[i].getShapes();
            for (int j = 0; j < sh.length; j++) {
                if (sh[j] instanceof Picture) {
                    Picture p = (Picture)sh[j];
                    PictureData pdata = p.getPictureData();

                    imageCount++;
                }
            }
        }

Since the same image can be placed on several slides imageCount may not equal 
to pict.length.


Yegor


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/

Reply via email to