Package org.apache.fop.render.pcl
Class PCLDocumentHandler
- java.lang.Object
-
- org.apache.fop.render.intermediate.AbstractIFDocumentHandler
-
- org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
-
- org.apache.fop.render.pcl.PCLDocumentHandler
-
- All Implemented Interfaces:
IFDocumentHandler
,PCLConstants
public class PCLDocumentHandler extends AbstractBinaryWritingIFDocumentHandler implements PCLConstants
IFDocumentHandler
implementation that produces PCL 5.
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.image.BufferedImage
currentImage
the current page image (only set when all-bitmap painting is activated)private PCLPageDefinition
currentPageDefinition
private PCLGenerator
gen
The PCL generatorprivate static org.apache.commons.logging.Log
log
logging instanceprivate long
pageHeight
contains the pageHeight of the last printed pageprivate long
pageWidth
contains the pageWith of the last printed pageprotected PCLRenderingUtil
pclUtil
Utility class for handling all sorts of peripheral tasks around PCL generation.private static org.apache.xmlgraphics.io.TempResourceURIGenerator
TEMP_URI_GENERATOR
private java.net.URI
tempURI
the temporary file in case of two-pass processing-
Fields inherited from class org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
fontInfo, outputStream
-
Fields inherited from interface org.apache.fop.render.pcl.PCLConstants
COLOR_CANVAS, DISABLE_CLIPPING, SRC_TRANSPARENCY
-
-
Constructor Summary
Constructors Constructor Description PCLDocumentHandler(IFContext context)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
copy(java.io.InputStream is, long len)
private IFPainter
createAllBitmapPainter()
private java.awt.image.BufferedImage
createBufferedImage(int bitmapWidth, int bitmapHeight)
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.IFDocumentHandlerConfigurator
getConfigurator()
Returns the configurator for this document handler, if any.java.lang.String
getMimeType()
Returns the MIME type of the output format that is generated by this implementation.(package private) PCLGenerator
getPCLGenerator()
(package private) PCLRenderingUtil
getPCLUtil()
protected int
getResolution()
void
handleExtensionObject(java.lang.Object extension)
Handles an extension object.private void
rewritePCLFile()
private void
selectPageFormat(long pagewidth, long pageheight)
void
setDefaultFontInfo(FontInfo fontInfo)
Sets the default font set (with no custom configuration).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
-
tempURI
private java.net.URI tempURI
the temporary file in case of two-pass processing
-
TEMP_URI_GENERATOR
private static final org.apache.xmlgraphics.io.TempResourceURIGenerator TEMP_URI_GENERATOR
-
pclUtil
protected PCLRenderingUtil pclUtil
Utility class for handling all sorts of peripheral tasks around PCL generation.
-
gen
private PCLGenerator gen
The PCL generator
-
currentPageDefinition
private PCLPageDefinition currentPageDefinition
-
pageWidth
private long pageWidth
contains the pageWith of the last printed page
-
pageHeight
private long pageHeight
contains the pageHeight of the last printed page
-
currentImage
private java.awt.image.BufferedImage currentImage
the current page image (only set when all-bitmap painting is activated)
-
-
Constructor Detail
-
PCLDocumentHandler
public PCLDocumentHandler(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.- Specified by:
supportsPagesOutOfOrder
in interfaceIFDocumentHandler
- Returns:
- true if out-of-order handling is supported
-
getMimeType
public java.lang.String getMimeType()
Returns the MIME type of the output format that is generated by this implementation.- Specified by:
getMimeType
in interfaceIFDocumentHandler
- Returns:
- the MIME type
-
getConfigurator
public IFDocumentHandlerConfigurator getConfigurator()
Returns the configurator for this document handler, if any.- Specified by:
getConfigurator
in interfaceIFDocumentHandler
- Returns:
- the configurator or null if there's no configurator
-
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
-
getPCLUtil
PCLRenderingUtil getPCLUtil()
-
getPCLGenerator
PCLGenerator getPCLGenerator()
-
getResolution
protected int getResolution()
- Returns:
- the target resolution
-
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
-
rewritePCLFile
private void rewritePCLFile() throws java.io.IOException
- Throws:
java.io.IOException
-
copy
private void copy(java.io.InputStream is, long len) throws java.io.IOException
- Throws:
java.io.IOException
-
startPageSequence
public void startPageSequence(java.lang.String id) throws IFException
Indicates the start of a new page sequence.- Specified by:
startPageSequence
in interfaceIFDocumentHandler
- 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.- Specified by:
endPageSequence
in interfaceIFDocumentHandler
- 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.- Specified by:
startPage
in interfaceIFDocumentHandler
- 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.- Specified by:
startPageContent
in interfaceIFDocumentHandler
- Returns:
- the IFPainter for the page content
- Throws:
IFException
- if an error occurs while handling this event
-
createAllBitmapPainter
private IFPainter createAllBitmapPainter()
-
createBufferedImage
private java.awt.image.BufferedImage createBufferedImage(int bitmapWidth, int bitmapHeight)
-
endPageContent
public void endPageContent() throws IFException
Indicates the end of the page content. Calls to theIFPainter
returned by the respectiveIFDocumentHandler.startPageContent()
method are illegal.- Specified by:
endPageContent
in interfaceIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endPage
public void endPage() throws IFException
Indicates the end of a page- Specified by:
endPage
in interfaceIFDocumentHandler
- 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.- Specified by:
handleExtensionObject
in interfaceIFDocumentHandler
- Parameters:
extension
- the extension object- Throws:
IFException
- if an error occurs while handling this event
-
selectPageFormat
private void selectPageFormat(long pagewidth, long pageheight) throws java.io.IOException
- Throws:
java.io.IOException
-
-