Java Code Examples for org.apache.poi.ss.usermodel.Workbook#PICTURE_TYPE_DIB
The following examples show how to use
org.apache.poi.ss.usermodel.Workbook#PICTURE_TYPE_DIB .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HSSFPictureData.java From lams with GNU General Public License v2.0 | 6 votes |
/** * @return the POI internal image type, -1 if not unknown image type * * @see Workbook#PICTURE_TYPE_DIB * @see Workbook#PICTURE_TYPE_EMF * @see Workbook#PICTURE_TYPE_JPEG * @see Workbook#PICTURE_TYPE_PICT * @see Workbook#PICTURE_TYPE_PNG * @see Workbook#PICTURE_TYPE_WMF */ public int getPictureType() { switch (blip.getRecordId()) { case EscherMetafileBlip.RECORD_ID_WMF: return Workbook.PICTURE_TYPE_WMF; case EscherMetafileBlip.RECORD_ID_EMF: return Workbook.PICTURE_TYPE_EMF; case EscherMetafileBlip.RECORD_ID_PICT: return Workbook.PICTURE_TYPE_PICT; case EscherBitmapBlip.RECORD_ID_PNG: return Workbook.PICTURE_TYPE_PNG; case EscherBitmapBlip.RECORD_ID_JPEG: return Workbook.PICTURE_TYPE_JPEG; case EscherBitmapBlip.RECORD_ID_DIB: return Workbook.PICTURE_TYPE_DIB; default: return -1; } }
Example 2
Source File: ExcelImageHandler.java From pentaho-reporting with GNU Lesser General Public License v2.1 | 6 votes |
private int getImageFormat( final ResourceKey key ) { final URL url = resourceManager.toURL( key ); if ( url == null ) { return -1; } final String file = url.getFile(); if ( StringUtils.endsWithIgnoreCase( file, ".png" ) ) { // NON-NLS return Workbook.PICTURE_TYPE_PNG; } if ( StringUtils.endsWithIgnoreCase( file, ".jpg" ) || // NON-NLS StringUtils.endsWithIgnoreCase( file, ".jpeg" ) ) { // NON-NLS return Workbook.PICTURE_TYPE_JPEG; } if ( StringUtils.endsWithIgnoreCase( file, ".bmp" ) || // NON-NLS StringUtils.endsWithIgnoreCase( file, ".ico" ) ) { // NON-NLS return Workbook.PICTURE_TYPE_DIB; } return -1; }
Example 3
Source File: StyleManagerUtils.java From birt with Eclipse Public License 1.0 | 5 votes |
/** * <p> * Convert a MIME string into a Workbook.PICTURE* constant. * </p><p> * In some cases BIRT fails to submit a MIME string, in which case this method falls back to basic data signatures for JPEG and PNG images. * <p> * @param mimeType * The MIME type. * @param data * The image data to consider if no recognisable MIME type is provided. * @return * A Workbook.PICTURE* constant. */ public int poiImageTypeFromMimeType( String mimeType, byte[] data ) { if( "image/jpeg".equals(mimeType) ) { return Workbook.PICTURE_TYPE_JPEG; } else if( "image/png".equals(mimeType) ) { return Workbook.PICTURE_TYPE_PNG; } else if ( "image/bmp".equals( mimeType ) ) { return Workbook.PICTURE_TYPE_DIB; } else { if( null != data ) { log.debug( "Data bytes: " + " " + Integer.toHexString( data[0] ).toUpperCase() + " " + Integer.toHexString( data[1] ).toUpperCase() + " " + Integer.toHexString( data[2] ).toUpperCase() + " " + Integer.toHexString( data[3] ).toUpperCase() ); if( ( data.length > 2 ) && ( data[0] == (byte)0xFF) && ( data[1] == (byte)0xD8) && ( data[2] == (byte)0xFF) ) { return Workbook.PICTURE_TYPE_JPEG; } if( ( data.length > 4 ) && ( data[0] == (byte)0x89) && ( data[1] == (byte)'P') && ( data[2] == (byte)'N') && ( data[3] == (byte)'G') ) { return Workbook.PICTURE_TYPE_PNG; } } return 0; } }
Example 4
Source File: ImageUtils.java From lams with GNU General Public License v2.0 | 4 votes |
/** * Return the dimension of this image * * @param is the stream containing the image data * @param type type of the picture: {@link org.apache.poi.ss.usermodel.Workbook#PICTURE_TYPE_JPEG}, * {@link org.apache.poi.ss.usermodel.Workbook#PICTURE_TYPE_PNG} or {@link org.apache.poi.ss.usermodel.Workbook#PICTURE_TYPE_DIB} * * @return image dimension in pixels */ public static Dimension getImageDimension(InputStream is, int type){ Dimension size = new Dimension(); switch (type){ //we can calculate the preferred size only for JPEG, PNG and BMP //other formats like WMF, EMF and PICT are not supported in Java case Workbook.PICTURE_TYPE_JPEG: case Workbook.PICTURE_TYPE_PNG: case Workbook.PICTURE_TYPE_DIB: try { //read the image using javax.imageio.* ImageInputStream iis = ImageIO.createImageInputStream( is ); try { Iterator<ImageReader> i = ImageIO.getImageReaders( iis ); ImageReader r = i.next(); try { r.setInput( iis ); BufferedImage img = r.read(0); int[] dpi = getResolution(r); //if DPI is zero then assume standard 96 DPI //since cannot divide by zero if (dpi[0] == 0) dpi[0] = PIXEL_DPI; if (dpi[1] == 0) dpi[1] = PIXEL_DPI; size.width = img.getWidth()*PIXEL_DPI/dpi[0]; size.height = img.getHeight()*PIXEL_DPI/dpi[1]; } finally { r.dispose(); } } finally { iis.close(); } } catch (IOException e) { //silently return if ImageIO failed to read the image logger.log(POILogger.WARN, e); } break; default: logger.log(POILogger.WARN, "Only JPEG, PNG and DIB pictures can be automatically sized"); } return size; }
Example 5
Source File: AbstractExcelFactory.java From myexcel with Apache License 2.0 | 4 votes |
private void setImage(Td td, Sheet sheet) { if (td.getFile() == null) { return; } try { if (createHelper == null) { createHelper = workbook.getCreationHelper(); } byte[] bytes = Files.readAllBytes(td.getFile().toPath()); String fileName = td.getFile().getName(); int format; String suffix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); switch (suffix) { case "jpg": case "jpeg": format = Workbook.PICTURE_TYPE_JPEG; break; case "png": format = Workbook.PICTURE_TYPE_PNG; break; case "dib": format = Workbook.PICTURE_TYPE_DIB; break; case "emf": format = Workbook.PICTURE_TYPE_EMF; break; case "pict": format = Workbook.PICTURE_TYPE_PICT; break; case "wmf": format = Workbook.PICTURE_TYPE_WMF; break; default: throw new IllegalArgumentException("Invalid image type"); } int pictureIdx = workbook.addPicture(bytes, format); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = createHelper.createClientAnchor(); anchor.setCol1(td.getCol()); anchor.setRow1(td.getRow()); Picture pict = drawing.createPicture(anchor, pictureIdx); pict.resize(1, 1); } catch (IOException e) { throw new RuntimeException(e); } }