Class PSDocumentHandler

    • Field Detail

      • log

        private static org.apache.commons.logging.Log log
        logging instance
      • psUtil

        private PSRenderingUtil 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 gen
        The PostScript generator used to output the PostScript
      • 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
      • currentPageNumber

        private int currentPageNumber
      • documentBoundingBox

        private java.awt.geom.Rectangle2D documentBoundingBox
        Is used to determine the document's bounding box
      • setupCodeList

        private java.util.List setupCodeList
        Used to temporarily store PSSetupCode instance until they can be written.
      • fontResources

        private FontResourceCache fontResources
        This is a cache of PSResource instances of all fonts defined
      • formResources

        private java.util.Map formResources
        This is a map of PSResource instances of all forms (key: uri)
      • pageDeviceDictionary

        private org.apache.xmlgraphics.ps.PSPageDeviceDictionary pageDeviceDictionary
        encapsulation of dictionary used in setpagedevice instruction
      • comments

        private java.util.Collection[] comments
        This is a collection holding all document header comments
      • COMMENT_DOCUMENT_HEADER

        private static final int COMMENT_DOCUMENT_HEADER
        See Also:
        Constant Field Values
      • COMMENT_DOCUMENT_TRAILER

        private static final int COMMENT_DOCUMENT_TRAILER
        See Also:
        Constant Field Values
      • PAGE_TRAILER_CODE_BEFORE

        private static final int PAGE_TRAILER_CODE_BEFORE
        See Also:
        Constant Field Values
    • Constructor Detail

      • PSDocumentHandler

        public PSDocumentHandler​(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 java.lang.String 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

        public IFDocumentHandlerConfigurator getConfigurator()
        Returns the configurator for this document handler, if any.
        Returns:
        the configurator or null if there's no configurator
      • writeHeader

        private void writeHeader()
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • rewritePostScriptFile

        private void rewritePostScriptFile()
                                    throws java.io.IOException
        Used for two-pass production. This will rewrite the PostScript file from the temporary file while adding all needed resources.
        Throws:
        java.io.IOException - In case of an I/O error.
      • 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 page
        size - the size of the page (equivalent to the MediaBox in PDF)
        Throws:
        IFException - if an error occurs while handling this event
      • writeExtensions

        private void writeExtensions​(int which)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • startPageContent

        public IFPainter startPageContent()
                                   throws IFException
        Indicates the start of the page content. The method returns an IFPainter 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
      • endPage

        public void endPage()
                     throws IFException
        Indicates the end of a page
        Throws:
        IFException - if an error occurs while handling this event
      • inPage

        private boolean inPage()
      • 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
      • getPSResourceForFontKey

        protected PSFontResource getPSResourceForFontKey​(java.lang.String key)
        Returns the PSResource for the given font key.
        Parameters:
        key - the font key ("F*")
        Returns:
        the matching PSResource
      • getFormForImage

        public org.apache.xmlgraphics.ps.PSResource getFormForImage​(java.lang.String uri)
        Returns a PSResource instance representing a image as a PostScript form.
        Parameters:
        uri - the image URI
        Returns:
        a PSResource instance