fop 2.0

org.apache.fop.pdf
Interface PDFImage

All Known Implementing Classes:
AbstractImageAdapter, AlphaRasterImage, BitmapImage, ImageRawCCITTFaxAdapter, ImageRawJPEGAdapter, ImageRawPNGAdapter, ImageRenderedAdapter

public interface PDFImage

Interface for a PDF image. This is used for inserting an image into PDF.


Method Summary
 int getBitsPerComponent()
          Get the bits per color component for this image.
 PDFDeviceColorSpace getColorSpace()
          Get the color space for this image.
 java.lang.String getFilterHint()
          Returns a hint in form of a String (Possible values from PDFFilterList) indicating which filter setup should be used to encode the object.
 int getHeight()
          Get the image height in pixels.
 PDFICCStream getICCStream()
          Get the ICC stream for this image.
 java.lang.String getKey()
          Key to look up XObject.
 java.lang.String getMask()
          Get the PDF reference for a bitmap mask.
 PDFFilter getPDFFilter()
          Get the PDF Filter to be applied to the image.
 PDFReference getSoftMaskReference()
          Get the PDF reference for a soft mask.
 PDFColor getTransparentColor()
          Get the transparent color.
 int getWidth()
          Get the image width in pixels.
 boolean isInverted()
           
 boolean isPS()
          Check if this image is a PostScript image.
 boolean isTransparent()
          Check if this image has a transparent color transparency.
 boolean multipleFiltersAllowed()
          Indicates whether multiple image filters are allowed; this is implemented because Adobe Reader does not like multiple FlateDecode filters applied to an image even though that allowed by the PDF spec; this is probable due to security concerns since many PDF malware exploits, like zip bombs, make use of a chain of FlateDecode filters.
 void outputContents(java.io.OutputStream out)
          Writes the raw, unencoded contents of the image to a given output stream.
 void populateXObjectDictionary(PDFDictionary dict)
          Populates the XObject's dictionary with additional values.
 void setup(PDFDocument doc)
          Setup the PDF image for the current document.
 

Method Detail

getKey

java.lang.String getKey()
Key to look up XObject. This should be a unique key to refer to the image.

Returns:
the key for this image

setup

void setup(PDFDocument doc)
Setup the PDF image for the current document. Some image formats may need to access the document (for example to add an ICC profile to the document).

Parameters:
doc - the PDF parent document (todo) Remove this and delegate to the XObject

getWidth

int getWidth()
Get the image width in pixels.

Returns:
the image width

getHeight

int getHeight()
Get the image height in pixels.

Returns:
the image height

getColorSpace

PDFDeviceColorSpace getColorSpace()
Get the color space for this image. Possible results are: DeviceGray, DeviceRGB, or DeviceCMYK

Returns:
the color space

getBitsPerComponent

int getBitsPerComponent()
Get the bits per color component for this image.

Returns:
the bits per component

isPS

boolean isPS()
Check if this image is a PostScript image.

Returns:
true if this is a PostScript image

isTransparent

boolean isTransparent()
Check if this image has a transparent color transparency.

Returns:
true if it has transparency

getTransparentColor

PDFColor getTransparentColor()
Get the transparent color.

Returns:
the transparent color for this image

getMask

java.lang.String getMask()
Get the PDF reference for a bitmap mask.

Returns:
the PDF reference for the mask image

getSoftMaskReference

PDFReference getSoftMaskReference()
Get the PDF reference for a soft mask.

Returns:
the PDF reference for a soft mask image (or null if there's no soft mask)

isInverted

boolean isInverted()
Returns:
true for CMYK images generated by Adobe Photoshop

getPDFFilter

PDFFilter getPDFFilter()
Get the PDF Filter to be applied to the image.

Returns:
the PDF Filter or null

outputContents

void outputContents(java.io.OutputStream out)
                    throws java.io.IOException
Writes the raw, unencoded contents of the image to a given output stream.

Parameters:
out - OutputStream to write to
Throws:
java.io.IOException - if there creating stream

populateXObjectDictionary

void populateXObjectDictionary(PDFDictionary dict)
Populates the XObject's dictionary with additional values. The values are added to the dictionary after all the values obtained from other methods from this interface have been put into the dictionary. That allows to override certain values.

Parameters:
dict - the dictionary to fill

getICCStream

PDFICCStream getICCStream()
Get the ICC stream for this image.

Returns:
the ICC stream for this image if any

getFilterHint

java.lang.String getFilterHint()
Returns a hint in form of a String (Possible values from PDFFilterList) indicating which filter setup should be used to encode the object.

Returns:
the filter setup hint

multipleFiltersAllowed

boolean multipleFiltersAllowed()
Indicates whether multiple image filters are allowed; this is implemented because Adobe Reader does not like multiple FlateDecode filters applied to an image even though that allowed by the PDF spec; this is probable due to security concerns since many PDF malware exploits, like zip bombs, make use of a chain of FlateDecode filters.


fop 2.0

Copyright 1999-2015 The Apache Software Foundation. All Rights Reserved.