Package org.apache.poi.hslf.record
Class PPDrawing
- java.lang.Object
-
- org.apache.poi.hslf.record.Record
-
- org.apache.poi.hslf.record.RecordAtom
-
- org.apache.poi.hslf.record.PPDrawing
-
- All Implemented Interfaces:
java.lang.Iterable<EscherRecord>
,GenericRecord
public final class PPDrawing extends RecordAtom implements java.lang.Iterable<EscherRecord>
These are actually wrappers onto Escher drawings. Make use of the DDF classes to do useful things with them. For now, creates a tree of the Escher records, and then creates any PowerPoint (hslf) records found within the EscherTextboxRecord (msofbtClientTextbox) records. Also provides easy access to the EscherTextboxRecords, so that their text may be extracted and used in Sheets.[MS-PPT] - v20210216
refers to this as aDrawingContainer
.
-
-
Constructor Summary
Constructors Constructor Description PPDrawing()
Creates a new, empty, PPDrawing (typically for use with a new Slide or Notes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTextboxWrapper(EscherTextboxWrapper txtbox)
Add a new EscherTextboxWrapper to thisPPDrawing
.Record[]
getChildRecords()
We're pretending to be an atom, so return nullEscherContainerRecord
getDgContainer()
EscherDgRecord
getEscherDgRecord()
Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing groupjava.util.List<EscherRecord>
getEscherRecords()
Get access to the underlying Escher Recordsjava.util.Map<java.lang.String,java.util.function.Supplier<?>>
getGenericProperties()
StyleTextProp9Atom[]
getNumberedListInfo()
long
getRecordType()
We are type 1036EscherTextboxWrapper[]
getTextboxWrappers()
Get access to the atoms inside Textboxesjava.util.Iterator<EscherRecord>
iterator()
java.util.Spliterator<EscherRecord>
spliterator()
void
writeOut(java.io.OutputStream out)
Write the contents of the record back, so it can be written to disk Walks the escher layer to get the contents-
Methods inherited from class org.apache.poi.hslf.record.RecordAtom
getMaxRecordLength, isAnAtom, setMaxRecordLength
-
Methods inherited from class org.apache.poi.hslf.record.Record
buildRecordAtOffset, createRecordForType, findChildRecords, getGenericChildren, getGenericRecordType, writeLittleEndian, writeLittleEndian
-
-
-
-
Method Detail
-
getEscherRecords
public java.util.List<EscherRecord> getEscherRecords()
Get access to the underlying Escher Records
-
iterator
public java.util.Iterator<EscherRecord> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<EscherRecord>
-
spliterator
public java.util.Spliterator<EscherRecord> spliterator()
- Specified by:
spliterator
in interfacejava.lang.Iterable<EscherRecord>
- Since:
- POI 5.2.0
-
getTextboxWrappers
public EscherTextboxWrapper[] getTextboxWrappers()
Get access to the atoms inside Textboxes
-
getRecordType
public long getRecordType()
We are type 1036- Specified by:
getRecordType
in classRecord
-
getChildRecords
public Record[] getChildRecords()
We're pretending to be an atom, so return null- Overrides:
getChildRecords
in classRecordAtom
-
writeOut
public void writeOut(java.io.OutputStream out) throws java.io.IOException
Write the contents of the record back, so it can be written to disk Walks the escher layer to get the contents
-
addTextboxWrapper
public void addTextboxWrapper(EscherTextboxWrapper txtbox)
Add a new EscherTextboxWrapper to thisPPDrawing
.
-
getDgContainer
public EscherContainerRecord getDgContainer()
- Returns:
- the container record for drawings
- Since:
- POI 3.14-Beta2
-
getEscherDgRecord
public EscherDgRecord getEscherDgRecord()
Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing group- Returns:
- EscherDgRecord
-
getNumberedListInfo
public StyleTextProp9Atom[] getNumberedListInfo()
-
getGenericProperties
public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
- Specified by:
getGenericProperties
in interfaceGenericRecord
-
-