Package org.apache.fop.render.bitmap
Class AbstractBitmapDocumentHandler
- java.lang.Object
-
- org.apache.fop.render.intermediate.AbstractIFDocumentHandler
-
- org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
-
- org.apache.fop.render.bitmap.AbstractBitmapDocumentHandler
-
- All Implemented Interfaces:
IFDocumentHandler
- Direct Known Subclasses:
PNGDocumentHandler
,TIFFDocumentHandler
public abstract class AbstractBitmapDocumentHandler extends AbstractBinaryWritingIFDocumentHandler
AbstractIFDocumentHandler
implementation for producing bitmap images.
-
-
Field Summary
Fields Modifier and Type Field Description private BitmapRenderingSettings
bitmapSettings
private java.awt.image.BufferedImage
currentImage
private java.awt.Dimension
currentPageDimensions
private org.apache.xmlgraphics.image.writer.ImageWriter
imageWriter
private static org.apache.commons.logging.Log
log
logging instanceprivate MultiFileRenderingUtil
multiFileUtil
Helper class for generating multiple filesprivate org.apache.xmlgraphics.image.writer.MultiImageWriter
multiImageWriter
private int
pageCount
private double
scaleFactor
static java.lang.String
TARGET_BITMAP_SIZE
Rendering Options key for the controlling the required bitmap size to create.private java.awt.Dimension
targetBitmapSize
-
Fields inherited from class org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
fontInfo, outputStream
-
-
Constructor Summary
Constructors Constructor Description AbstractBitmapDocumentHandler(IFContext context)
Default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.awt.image.BufferedImage
createBufferedImage(int bitmapWidth, int bitmapHeight)
Creates a new BufferedImage.void
endDocument()
Indicates the end of a document.void
endDocumentHeader()
Indicates the end of the document header.void
endPage()
Indicates the end of a pagevoid
endPageContent()
Indicates the end of the page content.void
endPageSequence()
Indicates the end of a page sequence.abstract IFDocumentHandlerConfigurator
getConfigurator()
Returns the configurator for this document handler, if any.abstract java.lang.String
getDefaultExtension()
Returns the default file extension for the supported image type.abstract java.lang.String
getMimeType()
Returns the MIME type of the output format that is generated by this implementation.BitmapRenderingSettings
getSettings()
Returns the settings for bitmap rendering.void
handleExtensionObject(java.lang.Object extension)
Handles an extension object.void
setDefaultFontInfo(FontInfo fontInfo)
Sets the default font set (with no custom configuration).void
setTargetBitmapSize(java.awt.Dimension size)
Sets the target bitmap size (in pixels) of the bitmap that should be produced.void
startDocument()
Indicates the start of a document.void
startPage(int index, java.lang.String name, java.lang.String pageMasterName, java.awt.Dimension size)
Indicates the start of a new page.IFPainter
startPageContent()
Indicates the start of the page content.void
startPageSequence(java.lang.String id)
Indicates the start of a new page sequence.boolean
supportsPagesOutOfOrder()
Indicates whether the painter supports to handle the pages in mixed order rather than ascending order.-
Methods inherited from class org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
getFontInfo, setFontInfo, setResult
-
Methods inherited from class org.apache.fop.render.intermediate.AbstractIFDocumentHandler
endDocumentTrailer, endPageHeader, endPageTrailer, getContext, getDocumentNavigationHandler, getStructureTreeEventHandler, getUserAgent, setDocumentLocale, startDocumentHeader, startDocumentTrailer, startPageHeader, startPageTrailer
-
-
-
-
Field Detail
-
log
private static org.apache.commons.logging.Log log
logging instance
-
TARGET_BITMAP_SIZE
public static final java.lang.String TARGET_BITMAP_SIZE
Rendering Options key for the controlling the required bitmap size to create. This is used to create thumbnails, for example. If used, the target resolution is ignored. Value type: java.awt.Dimension (size in pixels)- See Also:
- Constant Field Values
-
imageWriter
private org.apache.xmlgraphics.image.writer.ImageWriter imageWriter
-
multiImageWriter
private org.apache.xmlgraphics.image.writer.MultiImageWriter multiImageWriter
-
multiFileUtil
private MultiFileRenderingUtil multiFileUtil
Helper class for generating multiple files
-
pageCount
private int pageCount
-
currentPageDimensions
private java.awt.Dimension currentPageDimensions
-
currentImage
private java.awt.image.BufferedImage currentImage
-
bitmapSettings
private BitmapRenderingSettings bitmapSettings
-
scaleFactor
private double scaleFactor
-
targetBitmapSize
private java.awt.Dimension targetBitmapSize
-
-
Constructor Detail
-
AbstractBitmapDocumentHandler
public AbstractBitmapDocumentHandler(IFContext context)
Default constructor.
-
-
Method Detail
-
supportsPagesOutOfOrder
public boolean supportsPagesOutOfOrder()
Indicates whether the painter supports to handle the pages in mixed order rather than ascending order.- Returns:
- true if out-of-order handling is supported
-
getMimeType
public abstract java.lang.String getMimeType()
Returns the MIME type of the output format that is generated by this implementation.- Returns:
- the MIME type
-
getDefaultExtension
public abstract java.lang.String getDefaultExtension()
Returns the default file extension for the supported image type.- Returns:
- the default file extension (ex. "png")
-
getConfigurator
public abstract IFDocumentHandlerConfigurator getConfigurator()
Returns the configurator for this document handler, if any.- Returns:
- the configurator or null if there's no configurator
-
getSettings
public BitmapRenderingSettings getSettings()
Returns the settings for bitmap rendering.- Returns:
- the settings object
-
setDefaultFontInfo
public void setDefaultFontInfo(FontInfo fontInfo)
Sets the default font set (with no custom configuration).- Specified by:
setDefaultFontInfo
in interfaceIFDocumentHandler
- Overrides:
setDefaultFontInfo
in classAbstractBinaryWritingIFDocumentHandler
- Parameters:
fontInfo
- the font info object to populate
-
setTargetBitmapSize
public void setTargetBitmapSize(java.awt.Dimension size)
Sets the target bitmap size (in pixels) of the bitmap that should be produced. Normally, the bitmap size is calculated automatically based on the page size and the target resolution. But for example, if you want to create thumbnails or small preview bitmaps from pages it is more practical (and efficient) to set the required bitmap size.- Parameters:
size
- the target bitmap size (in pixels)
-
startDocument
public void startDocument() throws IFException
Indicates the start of a document. This method may only be called once before any other event method.- Specified by:
startDocument
in interfaceIFDocumentHandler
- Overrides:
startDocument
in classAbstractBinaryWritingIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endDocumentHeader
public void endDocumentHeader() throws IFException
Indicates the end of the document header. This method is called before the first page sequence.- Specified by:
endDocumentHeader
in interfaceIFDocumentHandler
- Overrides:
endDocumentHeader
in classAbstractIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endDocument
public void endDocument() throws IFException
Indicates the end of a document. This method may only be called once after the whole document has been handled. Implementations can release resources (close streams). It is an error to call any event method after this method.- Specified by:
endDocument
in interfaceIFDocumentHandler
- Overrides:
endDocument
in classAbstractBinaryWritingIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
startPageSequence
public void startPageSequence(java.lang.String id) throws IFException
Indicates the start of a new page sequence.- Parameters:
id
- the page sequence's identifier (or null if none is available)- Throws:
IFException
- if an error occurs while handling this event
-
endPageSequence
public void endPageSequence() throws IFException
Indicates the end of a page sequence.- Throws:
IFException
- if an error occurs while handling this event
-
startPage
public void startPage(int index, java.lang.String name, java.lang.String pageMasterName, java.awt.Dimension size) throws IFException
Indicates the start of a new page.- Parameters:
index
- the index of the page (0-based)name
- the page name (usually the formatted page number)pageMasterName
- the name of the simple-page-master that generated this pagesize
- the size of the page (equivalent to the MediaBox in PDF)- Throws:
IFException
- if an error occurs while handling this event
-
startPageContent
public IFPainter startPageContent() throws IFException
Indicates the start of the page content. The method returns anIFPainter
interface which is used to paint the page contents.- Returns:
- the IFPainter for the page content
- Throws:
IFException
- if an error occurs while handling this event
-
createBufferedImage
protected java.awt.image.BufferedImage createBufferedImage(int bitmapWidth, int bitmapHeight)
Creates a new BufferedImage.- Parameters:
bitmapWidth
- the desired width in pixelsbitmapHeight
- the desired height in pixels- Returns:
- the new BufferedImage instance
-
endPageContent
public void endPageContent() throws IFException
Indicates the end of the page content. Calls to theIFPainter
returned by the respectiveIFDocumentHandler.startPageContent()
method are illegal.- Throws:
IFException
- if an error occurs while handling this event
-
endPage
public void endPage() throws IFException
Indicates the end of a page- Throws:
IFException
- if an error occurs while handling this event
-
handleExtensionObject
public void handleExtensionObject(java.lang.Object extension) throws IFException
Handles an extension object. This can be a DOM document or any arbitrary object. If an implementation doesn't know how to handle a particular extension it is simply ignored.- Parameters:
extension
- the extension object- Throws:
IFException
- if an error occurs while handling this event
-
-