import java.util.TreeMap;
import org.apache.poi.EncryptedDocumentException;
-import org.apache.poi.ddf.EscherRecordTypes;
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
import org.apache.poi.hslf.record.DocumentEncryptionAtom;
offset += 8;
int endOffset = offset + rlen;
- if (recType == EscherRecordTypes.BSE.typeID) {
+ if (recType == 0xF007) {
// TOOD: get a real example file ... to actual test the FBSE entry
// not sure where the foDelay block is
offset += 8;
int endOffset = offset + rlen;
- if (recType == EscherRecordTypes.BSE.typeID) {
+ if (recType == 0xF007) {
// TOOD: get a real example file ... to actual test the FBSE entry
// not sure where the foDelay block is
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.poi.POIDocument;
-import org.apache.poi.ddf.EscherRecordTypes;
import org.apache.poi.hpsf.PropertySet;
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
import org.apache.poi.hslf.exceptions.HSLFException;
// When parsing the BStoreDelay stream, [MS-ODRAW] says that we
// should terminate if the type isn't 0xf007 or 0xf018->0xf117
- if (!((type == EscherRecordTypes.BSE.typeID) ||
- (type >= EscherRecordTypes.BLIP_START.typeID && type <= EscherRecordTypes.BLIP_END.typeID))) {
+ if (!((type == 0xf007) || (type >= 0xf018 && type <= 0xf117))) {
break;
}
}
// If the type (including the bonus 0xF018) is 0, skip it
- PictureType pt = PictureType.forNativeID(type - EscherRecordTypes.BLIP_START.typeID);
+ PictureType pt = PictureType.forNativeID(type - 0xF018);
if (pt == null) {
LOG.atError().log("Problem reading picture: Invalid image type 0, on picture with length {}.\nYour document will probably become corrupted if you save it! Position: {}", box(imgsize),box(pos));
} else {
import org.apache.poi.ddf.DefaultEscherRecordFactory;
import org.apache.poi.ddf.EscherContainerRecord;
import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherRecordTypes;
import org.apache.poi.hwpf.model.types.PICFAbstractType;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.Internal;
{
EscherRecord nextRecord = escherRecordFactory.createRecord(
dataStream, offset );
- if ( nextRecord.getRecordId() != EscherRecordTypes.BSE.typeID
- && ( nextRecord.getRecordId() < EscherRecordTypes.BLIP_START.typeID || nextRecord
- .getRecordId() > EscherRecordTypes.BLIP_END.typeID ) )
+ if ( nextRecord.getRecordId() != (short) 0xF007
+ && ( nextRecord.getRecordId() < (short) 0xF018 || nextRecord
+ .getRecordId() > (short) 0xF117 ) )
break;
int blipRecordSize = nextRecord.fillFields( dataStream, offset,
import org.apache.poi.ddf.EscherProperty;
import org.apache.poi.ddf.EscherPropertyTypes;
import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherRecordTypes;
import org.apache.poi.hwpf.model.PICF;
import org.apache.poi.hwpf.model.PICFAndOfficeArtData;
import org.apache.poi.sl.image.ImageHeaderPNG;
}
EscherRecord escherRecord = _blipRecords.get( 0 );
- short recordId = escherRecord.getRecordId();
- if (recordId == EscherRecordTypes.BSE.typeID) {
+ switch ( escherRecord.getRecordId() )
+ {
+ case (short) 0xF007:
+ {
EscherBSERecord bseRecord = (EscherBSERecord) escherRecord;
- switch (bseRecord.getBlipTypeWin32()) {
- case 0x00:
- return PictureType.UNKNOWN;
- case 0x01:
- return PictureType.UNKNOWN;
- case 0x02:
- return PictureType.EMF;
- case 0x03:
- return PictureType.WMF;
- case 0x04:
- return PictureType.PICT;
- case 0x05:
- return PictureType.JPEG;
- case 0x06:
- return PictureType.PNG;
- case 0x07:
- return PictureType.BMP;
- case 0x11:
- return PictureType.TIFF;
- case 0x12:
- return PictureType.JPEG;
- default:
- return PictureType.UNKNOWN;
+ switch ( bseRecord.getBlipTypeWin32() )
+ {
+ case 0x00:
+ return PictureType.UNKNOWN;
+ case 0x01:
+ return PictureType.UNKNOWN;
+ case 0x02:
+ return PictureType.EMF;
+ case 0x03:
+ return PictureType.WMF;
+ case 0x04:
+ return PictureType.PICT;
+ case 0x05:
+ return PictureType.JPEG;
+ case 0x06:
+ return PictureType.PNG;
+ case 0x07:
+ return PictureType.BMP;
+ case 0x11:
+ return PictureType.TIFF;
+ case 0x12:
+ return PictureType.JPEG;
+ default:
+ return PictureType.UNKNOWN;
}
- } else if (recordId == (short) 0xF01A) {
+ }
+ case (short) 0xF01A:
return PictureType.EMF;
- } else if (recordId == (short) 0xF01B) {
+ case (short) 0xF01B:
return PictureType.WMF;
- } else if (recordId == (short) 0xF01C) {
+ case (short) 0xF01C:
return PictureType.PICT;
- } else if (recordId == (short) 0xF01D) {
+ case (short) 0xF01D:
return PictureType.JPEG;
- } else if (recordId == (short) 0xF01E) {
+ case (short) 0xF01E:
return PictureType.PNG;
- } else if (recordId == (short) 0xF01F) {
+ case (short) 0xF01F:
return PictureType.BMP;
- } else if (recordId == (short) 0xF029) {
+ case (short) 0xF029:
return PictureType.TIFF;
- } else if (recordId == (short) 0xF02A) {
+ case (short) 0xF02A:
return PictureType.JPEG;
+ default:
+ return PictureType.UNKNOWN;
}
- return PictureType.UNKNOWN;
}
/**