Package org.apache.poi.xslf.usermodel
Class XMLSlideShow
java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.ooxml.POIXMLDocument
org.apache.poi.xslf.usermodel.XMLSlideShow
- All Implemented Interfaces:
Closeable
,AutoCloseable
,SlideShow<XSLFShape,
XSLFTextParagraph>
@Beta
public class XMLSlideShow
extends POIXMLDocument
implements SlideShow<XSLFShape,XSLFTextParagraph>
High level representation of a ooxml slideshow.
This is the first object most users will construct whether
they are reading or writing a slideshow. It is also the
top level object for creating new slides/etc.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
Field Summary
Fields inherited from class org.apache.poi.ooxml.POIXMLDocument
DOCUMENT_CREATOR, OLE_OBJECT_REL_TYPE, PACK_OBJECT_REL_TYPE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddPicture
(byte[] pictureData, PictureData.PictureType format) Adds a picture to the workbook.addPicture
(File pict, PictureData.PictureType format) Adds a picture to the presentation.addPicture
(InputStream is, PictureData.PictureType format) Adds a picture to the slideshow.protected void
commit()
Save the content in the underlying package part.createChart
(XSLFSlide slide) Create a blank chart on the given slide.void
Create a notes master.Create a blank slide using the default (first) master.createSlide
(XSLFSlideLayout layout) Create a slide and initialize it from the specified layout.findLayout
(String name) Scan the master slides for the first slide layout with the given name.findPictureData
(byte[] pictureData) check if a picture with this picture data already exists in this presentationGet the document's embedded files.Return all the charts in the slideshowReturns the list of comment authors, if there is one.org.openxmlformats.schemas.presentationml.x2006.main.CTPresentation
Return the Notes Master, if there is one.getNotesSlide
(XSLFSlide slide) Return notes slide for the specified slide or create new if it does not exist yet.Returns the current page sizeReturns all Pictures of this slideshow.Returns all slide masters.Return all the slides in the slideshowprotected void
Fired when a package part is readremoveSlide
(int index) void
setPageSize
(Dimension pgSize) Change the current page sizevoid
setSlideOrder
(XSLFSlide slide, int newIndex) Methods inherited from class org.apache.poi.ooxml.POIXMLDocument
close, getAllEmbedds, getCorePart, getPackage, getProperties, getRelatedByType, load, openPackage, write
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, onDocumentCreate, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, toString
-
Constructor Details
-
XMLSlideShow
public XMLSlideShow() -
XMLSlideShow
-
XMLSlideShow
- Throws:
IOException
-
-
Method Details
-
onDocumentRead
Description copied from class:POIXMLDocumentPart
Fired when a package part is read- Overrides:
onDocumentRead
in classPOIXMLDocumentPart
- Throws:
IOException
- a subclass may throw an IOException when a document is read
-
commit
Description copied from class:POIXMLDocumentPart
Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified.Sub-classes should override and add logic to marshal the "model" into Ooxml4J.
For example, the code saving a generic XML entry may look as follows:
protected void commit() throws IOException { PackagePart part = getPackagePart(); OutputStream out = part.getOutputStream(); XmlObject bean = getXmlBean(); //the "model" which holds changes in memory bean.save(out, DEFAULT_XML_OPTIONS); out.close(); }
- Overrides:
commit
in classPOIXMLDocumentPart
- Throws:
IOException
- a subclass may throw an IOException if the changes can't be committed
-
getAllEmbeddedParts
Get the document's embedded files.- Specified by:
getAllEmbeddedParts
in classPOIXMLDocument
- Returns:
- the document's embedded files
- Throws:
OpenXML4JException
- if the embedded parts can't be determined
-
getPictureData
Description copied from interface:SlideShow
Returns all Pictures of this slideshow. The returnedList
is unmodifiable.- Specified by:
getPictureData
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Returns:
- a
List
ofPictureData
.
-
createSlide
Create a slide and initialize it from the specified layout.- Parameters:
layout
- The layout to use for the new slide.- Returns:
- created slide
-
createSlide
Create a blank slide using the default (first) master.- Specified by:
createSlide
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph>
-
createChart
Create a blank chart on the given slide. -
getNotesSlide
Return notes slide for the specified slide or create new if it does not exist yet. -
createNotesMaster
public void createNotesMaster()Create a notes master. -
getNotesMaster
Return the Notes Master, if there is one. (May not be present if no notes exist) -
getSlideMasters
Description copied from interface:SlideShow
Returns all slide masters. This doesn't include notes master and other arbitrary masters.- Specified by:
getSlideMasters
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph>
-
getSlides
Return all the slides in the slideshow- Specified by:
getSlides
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph>
-
getCharts
Return all the charts in the slideshow -
getCommentAuthors
Returns the list of comment authors, if there is one. Will only be present if at least one slide has comments on it. -
setSlideOrder
- Parameters:
newIndex
- 0-based index of the slide
-
removeSlide
-
getPageSize
Description copied from interface:SlideShow
Returns the current page size- Specified by:
getPageSize
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Returns:
- the page size
-
setPageSize
Description copied from interface:SlideShow
Change the current page size- Specified by:
setPageSize
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Parameters:
pgSize
- page size (in points)
-
getCTPresentation
@Internal public org.openxmlformats.schemas.presentationml.x2006.main.CTPresentation getCTPresentation() -
addPicture
Adds a picture to the workbook.- Specified by:
addPicture
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Parameters:
pictureData
- The bytes of the pictureformat
- The format of the picture.- Returns:
- the picture data
-
addPicture
public XSLFPictureData addPicture(InputStream is, PictureData.PictureType format) throws IOException Adds a picture to the slideshow.- Specified by:
addPicture
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Parameters:
is
- The stream to read image fromformat
- The format of the picture- Returns:
- the picture data
- Throws:
IOException
- Since:
- 3.15 beta 2
-
addPicture
Adds a picture to the presentation.- Specified by:
addPicture
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Parameters:
pict
- The file containing the image to addformat
- The format of the picture.- Returns:
- the picture data
- Throws:
IOException
- Since:
- 3.15 beta 2
-
findPictureData
check if a picture with this picture data already exists in this presentation- Specified by:
findPictureData
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Parameters:
pictureData
- The picture data to find in the SlideShow- Returns:
null
if picture data is not found in this slideshow- Since:
- 3.15 beta 2
-
findLayout
Scan the master slides for the first slide layout with the given name.- Parameters:
name
- The layout name (case-insensitive). Cannot be null.- Returns:
- the first layout found or null on failure
-
getTableStyles
-
createMasterSheet
- Specified by:
createMasterSheet
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Throws:
IOException
-
getResources
- Specified by:
getResources
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph>
-
getMetadataTextExtractor
- Specified by:
getMetadataTextExtractor
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Returns:
- an extractor for the slideshow metadata
-
getPersistDocument
- Specified by:
getPersistDocument
in interfaceSlideShow<XSLFShape,
XSLFTextParagraph> - Returns:
- the instance which handles the persisting of the slideshow,
which is either a subclass of
POIDocument
orPOIXMLDocument
-