List of usage examples for org.apache.poi.xssf.usermodel XSSFPictureData getData
public byte[] getData()
From source file:com.vaadin.addon.spreadsheet.SpreadsheetFactory.java
License:Open Source License
private static SheetImageWrapper loadXSSFPicture(XSSFPicture shape) { // in XSSFPicture.getPreferredSize(double) POI presumes that // XSSFAnchor is always of type XSSFClientAnchor XSSFClientAnchor anchor = (XSSFClientAnchor) shape.getAnchor(); XSSFPictureData pictureData = shape.getPictureData(); SheetImageWrapper image = new SheetImageWrapper(anchor, pictureData.getMimeType(), pictureData.getData()); return image; }
From source file:mj.ocraptor.extraction.tika.parser.microsoft.ooxml.XSSFExcelExtractorDecorator.java
License:Apache License
/** * @see org.apache.poi.xssf.extractor.XSSFExcelExtractor#getText() *//*from w w w.j a v a 2s . c om*/ @Override protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException, XmlException, IOException { OPCPackage container = extractor.getPackage(); ReadOnlySharedStringsTable strings; XSSFReader.SheetIterator iter; XSSFReader xssfReader; StylesTable styles; try { xssfReader = new XSSFReader(container); styles = xssfReader.getStylesTable(); iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); strings = new ReadOnlySharedStringsTable(container); } catch (InvalidFormatException e) { throw new XmlException(e); } catch (OpenXML4JException oe) { throw new XmlException(oe); } while (iter.hasNext()) { InputStream stream = iter.next(); sheetParts.add(iter.getSheetPart()); SheetTextAsHTML sheetExtractor = new SheetTextAsHTML(xhtml, iter.getSheetComments()); // Start, and output the sheet name xhtml.startElement("div"); xhtml.element("h1", iter.getSheetName()); // Extract the main sheet contents xhtml.startElement("table"); xhtml.startElement("tbody"); processSheet(sheetExtractor, styles, strings, stream); xhtml.endElement("tbody"); xhtml.endElement("table"); // Output any headers and footers // (Need to process the sheet to get them, so we can't // do the headers before the contents) for (String header : sheetExtractor.headers) { extractHeaderFooter(header, xhtml); } for (String footer : sheetExtractor.footers) { extractHeaderFooter(footer, xhtml); } processShapes(iter.getShapes(), xhtml); // All done with this sheet xhtml.endElement("div"); } if (Config.inst().getProp(ConfigBool.ENABLE_IMAGE_OCR)) { TikaImageHelper helper = new TikaImageHelper(metadata); try { XSSFWorkbook workbook = new XSSFWorkbook(container); List<XSSFPictureData> pictures = workbook.getAllPictures(); for (XSSFPictureData picture : pictures) { ByteArrayInputStream imageData = new ByteArrayInputStream(picture.getData()); BufferedImage image = ImageIO.read(imageData); helper.addImage(image); } helper.addTextToHandler(xhtml); } catch (Exception e) { // TODO: e.printStackTrace(); } finally { if (extractor != null) { extractor.close(); } if (helper != null) { helper.close(); } } } }