Example usage for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject getStream

List of usage examples for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject getStream

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject getStream.

Prototype

public final PDStream getStream() 

Source Link

Document

Returns the stream.

Usage

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;
}