I found it. It was my mistake. I called decode() immediately when I
received the DrawingGroupRecord. If I call it at the end of the event
handling it is working.

Kind regards,

Martijn

David Fisher wrote:
> Hi Martijn,
> 
> Which version of POI are you using? If you are using POI 3.7beta3, is it 
> possible to create a bugzilla with the minimal sample XLS file and code that 
> show the error. That will allow a developer to determine what the trouble 
> might be.
> 
> One thought could be that the image is compressed and the value in 
> field_5_cbSave is uncompressed.
> 
> How was this file created? Do you know what type of image it its? EMF, PNG, 
> GIF?
> 
> Regards,
> Dave
> 
> On Oct 13, 2010, at 8:18 AM, martijn.list wrote:
> 
>> Hi,
>>
>> I get an ArrayIndexOutOfBoundsException when extracting an image from an
>> Excel file.
>>
>> The exception is thrown when handling a DrawingGroupRecord event and
>> calling DrawingGroupRecord#decode() on the DrawingGroupRecord.
>>
>> The exception is thrown because data does is not large enough (i.e.,
>> field_5_cbSave is larger than data.length - pos)
>>
>> LINE 93 in EscherMetafileBlip:
>>
>> System.arraycopy( data, pos, raw_pictureData, 0, field_5_cbSave );
>>
>> Stacktrace:
>>
>> java.lang.ArrayIndexOutOfBoundsException
>>      at java.lang.System.arraycopy(Native Method)
>>      at
>> org.apache.poi.ddf.EscherMetafileBlip.fillFields(EscherMetafileBlip.java:93)
>>      at 
>> org.apache.poi.ddf.EscherBSERecord.fillFields(EscherBSERecord.java:79)
>>      at
>> org.apache.poi.ddf.EscherContainerRecord.fillFields(EscherContainerRecord.java:53)
>>      at
>> org.apache.poi.ddf.EscherContainerRecord.fillFields(EscherContainerRecord.java:53)
>>      at
>> org.apache.poi.hssf.record.AbstractEscherHolderRecord.convertToEscherRecords(AbstractEscherHolderRecord.java:82)
>>      at
>> org.apache.poi.hssf.record.AbstractEscherHolderRecord.decode(AbstractEscherHolderRecord.java:260)
>>      at
>> mitm.common.extractor.impl.office.ExcelPOIExtractor$RecordEventListener.handleDrawingGroupRecord(ExcelPOIExtractor.java:451)
>>      at
>> mitm.common.extractor.impl.office.ExcelPOIExtractor$RecordEventListener.processRecord(ExcelPOIExtractor.java:475)
>>      at
>> org.apache.poi.hssf.eventusermodel.FormatTrackingHSSFListener.processRecord(FormatTrackingHSSFListener.java:82)
>>      at
>> org.apache.poi.hssf.eventusermodel.HSSFRequest.processRecord(HSSFRequest.java:112)
>>      at
>> org.apache.poi.hssf.eventusermodel.HSSFEventFactory.genericProcessEvents(HSSFEventFactory.java:147)
>>      at
>> org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processEvents(HSSFEventFactory.java:106)
>>
>> Any idea what might be the problem?
>>
>>
>>
>> Kind regards,
>>
>> Martijn
>>
>> PS I'm using trunk
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 


-- 
Djigzo open source email encryption

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to