Package org.apache.fop.render.pdf
Class AbstractImageAdapter
java.lang.Object
org.apache.fop.render.pdf.AbstractImageAdapter
- All Implemented Interfaces:
PDFImage
- Direct Known Subclasses:
ImageRawCCITTFaxAdapter,ImageRawJPEGAdapter,ImageRawPNGAdapter,ImageRenderedAdapter
Abstract PDFImage implementation for the PDF renderer.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.xmlgraphics.image.loader.Imagethe image -
Constructor Summary
ConstructorsConstructorDescriptionAbstractImageAdapter(org.apache.xmlgraphics.image.loader.Image image, String key) Creates a new PDFImage from an Image instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidDisallows multiple filters.protected ICC_ProfileReturns the effective ICC profile for the image.intGet the image height in pixels.Get the ICC stream for this image.protected ColorSpaceReturns the image's color space.getKey()Key to look up XObject.getMask()Get the PDF reference for a bitmap mask.Get the PDF reference for a soft mask.Get the transparent color.intgetWidth()Get the image width in pixels.booleanbooleanisPS()Check if this image is a PostScript image.protected booleanissRGB()booleanCheck if this image has a transparent color transparency.booleanIndicates 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.voidPopulates the XObject's dictionary with additional values.protected voidThis is to be used by populateXObjectDictionary() when the image is palette based.voidsetup(PDFDocument doc) Setup the PDF image for the current document.static PDFDeviceColorSpaceConverts a ColorSpace object to a PDFColorSpace object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.fop.pdf.PDFImage
getBitsPerComponent, getColorSpace, getFilterHint, getPDFFilter, outputContents
-
Field Details
-
image
protected org.apache.xmlgraphics.image.loader.Image imagethe image
-
-
Constructor Details
-
AbstractImageAdapter
Creates a new PDFImage from an Image instance.- Parameters:
image- the imagekey- XObject key
-
-
Method Details
-
getKey
Key to look up XObject. This should be a unique key to refer to the image. -
getImageColorSpace
Returns the image's color space.- Returns:
- the color space
-
setup
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). -
getEffectiveICCProfile
Returns the effective ICC profile for the image.- Returns:
- an ICC profile or null
-
issRGB
protected boolean issRGB() -
getWidth
public int getWidth()Get the image width in pixels. -
getHeight
public int getHeight()Get the image height in pixels. -
isTransparent
public boolean isTransparent()Check if this image has a transparent color transparency. Classes such asPDFImageXObjectrely on this simple binary model of transparency (e.g. compare toTransparency) in order to render color key masking (see PDF Spec 1.7 Chapter 8.9.6.4). Therefore only return true if image has fully transparent colors.- Specified by:
isTransparentin interfacePDFImage- Returns:
- true if it has at least one fully transparent color
-
getTransparentColor
Get the transparent color.- Specified by:
getTransparentColorin interfacePDFImage- Returns:
- the transparent color for this image
-
getMask
Get the PDF reference for a bitmap mask. -
getSoftMask
- Returns:
- null (if not overridden)
-
getSoftMaskReference
Get the PDF reference for a soft mask.- Specified by:
getSoftMaskReferencein interfacePDFImage- Returns:
- the PDF reference for a soft mask image (or null if there's no soft mask)
-
isInverted
public boolean isInverted()- Specified by:
isInvertedin interfacePDFImage- Returns:
- true for CMYK images generated by Adobe Photoshop
-
isPS
public boolean isPS()Check if this image is a PostScript image. -
getICCStream
Get the ICC stream for this image.- Specified by:
getICCStreamin interfacePDFImage- Returns:
- the ICC stream for this image if any
-
populateXObjectDictionary
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.- Specified by:
populateXObjectDictionaryin interfacePDFImage- Parameters:
dict- the dictionary to fill
-
populateXObjectDictionaryForIndexColorModel
This is to be used by populateXObjectDictionary() when the image is palette based.- Parameters:
dict- the dictionary to fill inicm- the image color model
-
toPDFColorSpace
Converts a ColorSpace object to a PDFColorSpace object.- Parameters:
cs- ColorSpace instance- Returns:
- PDFColorSpace new converted object
-
multipleFiltersAllowed
public 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.- Specified by:
multipleFiltersAllowedin interfacePDFImage
-
disallowMultipleFilters
public void disallowMultipleFilters()Disallows multiple filters.
-