This is with 3.5 beta 4 In getClientRecords(), the code, EscherRecord r = Shape.getEscherChild(getSpContainer(), EscherClientDataRecord.RECORD_ID); //ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID //convert in to EscherClientDataRecord on the fly if(!(r instanceof EscherClientDataRecord)){ getEscherChild(...) may return null, in which, !(r instanceof EscherClientDataRecord) is true, and byte[] data = r.serialize(); throws a NullPointerException java.lang.NullPointerException at org.apache.poi.hslf.model.SimpleShape.getClientRecords(SimpleShape.java:322) at org.apache.poi.hslf.model.SimpleShape.getClientDataRecord(SimpleShape.java:307) at org.apache.poi.hslf.model.TextShape.getPlaceholderAtom(TextShape.java:547) at org.apache.poi.hslf.model.Sheet.getPlaceholder(Sheet.java:408) at org.apache.poi.hslf.model.HeadersFooters.isVisible(HeadersFooters.java:244) at org.apache.poi.hslf.model.HeadersFooters.isHeaderVisible(HeadersFooters.java:148) at org.apache.poi.hslf.extractor.PowerPointExtractor.getText(PowerPointExtractor.java:173) at org.apache.poi.hslf.extractor.PowerPointExtractor.getText(PowerPointExtractor.java:144)
The problem was fixed in r746238 in February 2009. Try the latest trunk, daily builds can be downloaded from http://encore.torchbox.com/poi-svn-build/ Yegor