List of usage examples for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject getStream
public final PDStream getStream()
From source file:org.apache.tika.parser.pdf.PDF2XHTMLPureJava.java
License:Apache License
private void writeToBuffer(PDImageXObject pdImage, String suffix, OutputStream out) throws IOException { BufferedImage image = pdImage.getImage(); if (image != null) { if ("jpg".equals(suffix)) { String colorSpaceName = pdImage.getColorSpace().getName(); //TODO: figure out if we want directJPEG as a configuration //previously: if (directJPeg || PDDeviceGray.... if (PDDeviceGray.INSTANCE.getName().equals(colorSpaceName) || PDDeviceRGB.INSTANCE.getName().equals(colorSpaceName)) { // RGB or Gray colorspace: get and write the unmodifiedJPEG stream InputStream data = pdImage.getStream().createInputStream(JPEG); org.apache.pdfbox.io.IOUtils.copy(data, out); org.apache.pdfbox.io.IOUtils.closeQuietly(data); } else { // for CMYK and other "unusual" colorspaces, the JPEG will be converted //ImageIOUtil.writeImage(image, suffix, out); }/*ww w . j a va 2s. com*/ } else if ("jp2".equals(suffix) || "jpx".equals(suffix)) { InputStream data = pdImage.createInputStream(JP2); org.apache.pdfbox.io.IOUtils.copy(data, out); org.apache.pdfbox.io.IOUtils.closeQuietly(data); } else if ("jb2".equals(suffix)) { InputStream data = pdImage.createInputStream(JB2); org.apache.pdfbox.io.IOUtils.copy(data, out); org.apache.pdfbox.io.IOUtils.closeQuietly(data); } else { //ImageIOUtil.writeImage(image, suffix, out); } } out.flush(); }
From source file:org.apache.tika.parser.pdf.PDF2XHTMLPureJava.java
License:Apache License
private String getJBIG2Suffix(PDImageXObject image) { List<COSName> filters = image.getStream().getFilters(); if (filters != null && filters.contains(COSName.JBIG2_DECODE)) { return "jb2"; }/*from w w w . ja v a2 s .co m*/ return null; }