From d12375b4c0e45d2010251ef0bf07ffdd6d74b1ea Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 21 Sep 2011 16:54:22 +0000 Subject: Update the XSLF slide master text extraction to be optional, as HSLF already is, plus fix some indents git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1173756 13f79535-47bb-0310-9956-ffa450edef68 --- .../xslf/extractor/XSLFPowerPointExtractor.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/ooxml/java/org/apache/poi/xslf') diff --git a/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java b/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java index 930d16142c..9563f664a2 100644 --- a/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java +++ b/src/ooxml/java/org/apache/poi/xslf/extractor/XSLFPowerPointExtractor.java @@ -45,6 +45,7 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor { private XMLSlideShow slideshow; private boolean slidesByDefault = true; private boolean notesByDefault = false; + private boolean masterByDefault = false; public XSLFPowerPointExtractor(XMLSlideShow slideshow) { super(slideshow); @@ -84,6 +85,13 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor { this.notesByDefault = notesByDefault; } + /** + * Should a call to getText() return text from master? Default is no + */ + public void setMasterByDefault(boolean masterByDefault) { + this.masterByDefault = masterByDefault; + } + /** * Gets the slide text, but not the notes text */ @@ -97,6 +105,16 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor { * @param notesText Should we retrieve text from notes? */ public String getText(boolean slideText, boolean notesText) { + return getText(slideText, notesText, masterByDefault); + } + + /** + * Gets the requested text from the file + * @param slideText Should we retrieve text from slides? + * @param notesText Should we retrieve text from notes? + * @param masterText Should we retrieve text from master slides? + */ + public String getText(boolean slideText, boolean notesText, boolean masterText) { StringBuffer text = new StringBuffer(); XSLFSlide[] slides = slideshow.getSlides(); @@ -115,8 +133,8 @@ public class XSLFPowerPointExtractor extends POIXMLTextExtractor { if (slideText) { extractText(slide.getCommonSlideData(), text); - // If there's a master sheet, grab text from there - if(master != null) { + // If there's a master sheet and it's requested, grab text from there + if(masterText && master != null) { extractText(master.getCommonSlideData(), text); } -- cgit v1.2.3