List of usage examples for org.apache.poi.xslf.usermodel XSLFSheet getMasterSheet
MasterSheet<S, P> getMasterSheet();
From source file:mj.ocraptor.extraction.tika.parser.microsoft.ooxml.XSLFPowerPointExtractorDecorator.java
License:Apache License
/** * @see org.apache.poi.xslf.extractor.XSLFPowerPointExtractor#getText() *///from www. ja v a 2s . c om protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException, IOException { XMLSlideShow slideShow = (XMLSlideShow) extractor.getDocument(); XSLFSlide[] slides = slideShow.getSlides(); for (XSLFSlide slide : slides) { String slideDesc; if (slide.getPackagePart() != null && slide.getPackagePart().getPartName() != null) { slideDesc = getJustFileName(slide.getPackagePart().getPartName().toString()); slideDesc += "_"; } else { slideDesc = null; } // slide extractContent(slide.getShapes(), false, xhtml, slideDesc); // slide layout which is the master sheet for this slide XSLFSheet slideLayout = slide.getMasterSheet(); extractContent(slideLayout.getShapes(), true, xhtml, null); // slide master which is the master sheet for all text layouts XSLFSheet slideMaster = slideLayout.getMasterSheet(); extractContent(slideMaster.getShapes(), true, xhtml, null); // notes (if present) XSLFSheet slideNotes = slide.getNotes(); if (slideNotes != null) { extractContent(slideNotes.getShapes(), false, xhtml, slideDesc); // master sheet for this notes XSLFSheet notesMaster = slideNotes.getMasterSheet(); extractContent(notesMaster.getShapes(), true, xhtml, null); } // comments (if present) XSLFComments comments = slide.getComments(); if (comments != null) { for (CTComment comment : comments.getCTCommentsList().getCmList()) { xhtml.element("p", comment.getText()); } } } if (Config.inst().getProp(ConfigBool.ENABLE_IMAGE_OCR)) { TikaImageHelper helper = new TikaImageHelper(metadata); try { List<XSLFPictureData> pictures = slideShow.getAllPictures(); for (XSLFPictureData picture : pictures) { ByteArrayInputStream imageData = new ByteArrayInputStream(picture.getData()); BufferedImage image = ImageIO.read(imageData); helper.addImage(image); helper.addTextToHandler(xhtml); } } catch (Exception e) { e.printStackTrace(); } finally { if (extractor != null) { extractor.close(); } if (helper != null) { helper.close(); } } } }