Package org.apache.fop.render.ps
Class PSDocumentHandler
java.lang.Object
org.apache.fop.render.intermediate.AbstractIFDocumentHandler
org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
org.apache.fop.render.ps.PSDocumentHandler
- All Implemented Interfaces:
IFDocumentHandler
IFDocumentHandler
implementation
that produces PostScript.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final int
private static final int
private Collection[]
This is a collection holding all document header commentsprivate PSDocumentHandler.PageDefinition
private int
private Rectangle2D
Is used to determine the document's bounding boxprivate PSEventProducer
private FontResourceCache
This is a cache of PSResource instances of all fonts definedprivate Map
This is a map of PSResource instances of all forms (key: uri)(package private) org.apache.xmlgraphics.ps.PSGenerator
The PostScript generator used to output the PostScriptprivate static org.apache.commons.logging.Log
logging instanceprivate static final int
private org.apache.xmlgraphics.ps.PSPageDeviceDictionary
encapsulation of dictionary used in setpagedevice instructionprivate PSRenderingUtil
Utility class which enables all sorts of features that are not directly connected to the normal rendering process.private List
Used to temporarily store PSSetupCode instance until they can be written.private static final org.apache.xmlgraphics.io.TempResourceURIGenerator
private URI
the temporary file in case of two-pass processingFields inherited from class org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
fontInfo, outputStream
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Indicates the end of a document.void
Indicates the end of the document header.void
endPage()
Indicates the end of a pagevoid
Indicates the end of the page content.void
Indicates the end of the page header.void
Indicates the end of a page sequence.void
Indicates the end of the page trailer.Returns the configurator for this document handler, if any.org.apache.xmlgraphics.ps.PSResource
getFormForImage
(String uri) Returns a PSResource instance representing a image as a PostScript form.(package private) org.apache.xmlgraphics.ps.PSGenerator
Returns the MIME type of the output format that is generated by this implementation.protected PSFontResource
Returns the PSResource for the given font key.void
handleExtensionObject
(Object extension) Handles an extension object.private boolean
inPage()
private void
Used for two-pass production.void
Indicates the start of a document.void
Indicates the start of a new page.Indicates the start of the page content.void
Indicates the start of the page header.void
Indicates the start of a new page sequence.void
Indicates the start of the page trailer.boolean
Indicates whether the painter supports to handle the pages in mixed order rather than ascending order.private void
writeExtensions
(int which) private void
Methods inherited from class org.apache.fop.render.intermediate.AbstractBinaryWritingIFDocumentHandler
getFontInfo, setDefaultFontInfo, setFontInfo, setResult
Methods inherited from class org.apache.fop.render.intermediate.AbstractIFDocumentHandler
endDocumentTrailer, getContext, getDocumentNavigationHandler, getStructureTreeEventHandler, getUserAgent, setDocumentLocale, startDocumentHeader, startDocumentTrailer
-
Field Details
-
log
private static org.apache.commons.logging.Log loglogging instance -
psUtil
Utility class which enables all sorts of features that are not directly connected to the normal rendering process. -
gen
org.apache.xmlgraphics.ps.PSGenerator genThe PostScript generator used to output the PostScript -
tempURI
the temporary file in case of two-pass processing -
TEMP_URI_GENERATOR
private static final org.apache.xmlgraphics.io.TempResourceURIGenerator TEMP_URI_GENERATOR -
currentPageNumber
private int currentPageNumber -
currentPageDefinition
-
documentBoundingBox
Is used to determine the document's bounding box -
setupCodeList
Used to temporarily store PSSetupCode instance until they can be written. -
fontResources
This is a cache of PSResource instances of all fonts defined -
formResources
This is a map of PSResource instances of all forms (key: uri) -
pageDeviceDictionary
private org.apache.xmlgraphics.ps.PSPageDeviceDictionary pageDeviceDictionaryencapsulation of dictionary used in setpagedevice instruction -
comments
This is a collection holding all document header comments -
COMMENT_DOCUMENT_HEADER
private static final int COMMENT_DOCUMENT_HEADER- See Also:
-
COMMENT_DOCUMENT_TRAILER
private static final int COMMENT_DOCUMENT_TRAILER- See Also:
-
COMMENT_PAGE_TRAILER
private static final int COMMENT_PAGE_TRAILER- See Also:
-
PAGE_TRAILER_CODE_BEFORE
private static final int PAGE_TRAILER_CODE_BEFORE- See Also:
-
eventProducer
-
-
Constructor Details
-
PSDocumentHandler
Default constructor.
-
-
Method Details
-
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
Returns the MIME type of the output format that is generated by this implementation.- Returns:
- the MIME type
-
getGenerator
org.apache.xmlgraphics.ps.PSGenerator getGenerator() -
getConfigurator
Returns the configurator for this document handler, if any.- Returns:
- the configurator or null if there's no configurator
-
getPSUtil
-
startDocument
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
-
writeHeader
- Throws:
IOException
-
endDocumentHeader
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
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
-
rewritePostScriptFile
Used for two-pass production. This will rewrite the PostScript file from the temporary file while adding all needed resources.- Throws:
IOException
- In case of an I/O error.
-
startPageSequence
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
Indicates the end of a page sequence.- Throws:
IFException
- if an error occurs while handling this event
-
startPage
public void startPage(int index, String name, String pageMasterName, 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
-
startPageHeader
Indicates the start of the page header.- Specified by:
startPageHeader
in interfaceIFDocumentHandler
- Overrides:
startPageHeader
in classAbstractIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endPageHeader
Indicates the end of the page header.- Specified by:
endPageHeader
in interfaceIFDocumentHandler
- Overrides:
endPageHeader
in classAbstractIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
writeExtensions
- Throws:
IOException
-
startPageContent
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
-
endPageContent
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
-
startPageTrailer
Indicates the start of the page trailer. The page trailer is used for writing down page elements which are only know after handling the page itself (like PDF targets).- Specified by:
startPageTrailer
in interfaceIFDocumentHandler
- Overrides:
startPageTrailer
in classAbstractIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endPageTrailer
Indicates the end of the page trailer.- Specified by:
endPageTrailer
in interfaceIFDocumentHandler
- Overrides:
endPageTrailer
in classAbstractIFDocumentHandler
- Throws:
IFException
- if an error occurs while handling this event
-
endPage
Indicates the end of a page- Throws:
IFException
- if an error occurs while handling this event
-
inPage
private boolean inPage() -
handleExtensionObject
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
-
getPSResourceForFontKey
Returns the PSResource for the given font key.- Parameters:
key
- the font key ("F*")- Returns:
- the matching PSResource
-
getFormForImage
Returns a PSResource instance representing a image as a PostScript form.- Parameters:
uri
- the image URI- Returns:
- a PSResource instance
-