Class FopFactory

  • All Implemented Interfaces:
    org.apache.xmlgraphics.image.loader.ImageContext

    public final class FopFactory
    extends java.lang.Object
    implements org.apache.xmlgraphics.image.loader.ImageContext
    Factory class which instantiates new Fop and FOUserAgent instances. This class also holds environmental information and configuration used by FOP. Information that may potentially be different for each renderingq run can be found and managed in the FOUserAgent.
    • Method Detail

      • newInstance

        public static FopFactory newInstance​(FopFactoryConfig config)
        FOP has the ability, for some FO's, to continue processing even if the input XSL violates that FO's content model. This is the default behavior for FOP. However, this flag, if set, provides the user the ability for FOP to halt on all content model violations if desired. Returns a new FopFactory instance that is configured using the FopFactoryConfig object.
        Parameters:
        config - the fop configuration
        Returns:
        the requested FopFactory instance.
      • newInstance

        public static FopFactory newInstance​(java.io.File fopConf)
                                      throws org.xml.sax.SAXException,
                                             java.io.IOException
        Returns a new FopFactory instance that is configured using the FopFactoryConfig object that is created when the fopConf is parsed.
        Parameters:
        fopConf - the fop conf configuration file to parse
        Returns:
        the requested FopFactory instance.
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
      • newInstance

        public static FopFactory newInstance​(java.net.URI baseURI)
        Returns a new FopFactory instance that is configured only by the default configuration parameters.
        Parameters:
        baseURI - the base URI to resolve resource URIs against
        Returns:
        the requested FopFactory instance.
      • newInstance

        public static FopFactory newInstance​(java.net.URI baseURI,
                                             java.io.InputStream confStream)
                                      throws org.xml.sax.SAXException,
                                             java.io.IOException
        Returns a new FopFactory instance that is configured using the FopFactoryConfig object that is created when the fopConf is parsed.
        Parameters:
        baseURI - the base URI to resolve resource URIs against
        confStream - the fop conf configuration stream to parse
        Returns:
        the requested FopFactory instance.
        Throws:
        org.xml.sax.SAXException
        java.io.IOException
      • newFOUserAgent

        public FOUserAgent newFOUserAgent()
        Returns a new FOUserAgent instance. Use the FOUserAgent to configure special values that are particular to a rendering run. Don't reuse instances over multiple rendering runs but instead create a new one each time and reuse the FopFactory.
        Returns:
        the newly created FOUserAgent instance initialized with default values
      • newFop

        public Fop newFop​(java.lang.String outputFormat)
                   throws FOPException
        Returns a new Fop instance. FOP will be configured with a default user agent instance.

        MIME types are used to select the output format (ex. "application/pdf" for PDF). You can use the constants defined in MimeConstants.

        Parameters:
        outputFormat - the MIME type of the output format to use (ex. "application/pdf").
        Returns:
        the new Fop instance
        Throws:
        FOPException - when the constructor fails
      • newFop

        public Fop newFop​(java.lang.String outputFormat,
                          FOUserAgent userAgent)
                   throws FOPException
        Returns a new Fop instance. Use this factory method if you want to configure this very rendering run, i.e. if you want to set some metadata like the title and author of the document you want to render. In that case, create a new FOUserAgent instance using newFOUserAgent().

        MIME types are used to select the output format (ex. "application/pdf" for PDF). You can use the constants defined in MimeConstants.

        Parameters:
        outputFormat - the MIME type of the output format to use (ex. "application/pdf").
        userAgent - the user agent that will be used to control the rendering run
        Returns:
        the new Fop instance
        Throws:
        FOPException - when the constructor fails
      • newFop

        public Fop newFop​(java.lang.String outputFormat,
                          java.io.OutputStream stream)
                   throws FOPException
        Returns a new Fop instance. FOP will be configured with a default user agent instance. Use this factory method if your output type requires an output stream.

        MIME types are used to select the output format (ex. "application/pdf" for PDF). You can use the constants defined in MimeConstants.

        Parameters:
        outputFormat - the MIME type of the output format to use (ex. "application/pdf").
        stream - the output stream
        Returns:
        the new Fop instance
        Throws:
        FOPException - when the constructor fails
      • newFop

        public Fop newFop​(java.lang.String outputFormat,
                          FOUserAgent userAgent,
                          java.io.OutputStream stream)
                   throws FOPException
        Returns a new Fop instance. Use this factory method if your output type requires an output stream and you want to configure this very rendering run, i.e. if you want to set some metadata like the title and author of the document you want to render. In that case, create a new FOUserAgent instance using newFOUserAgent().

        MIME types are used to select the output format (ex. "application/pdf" for PDF). You can use the constants defined in MimeConstants.

        Parameters:
        outputFormat - the MIME type of the output format to use (ex. "application/pdf").
        userAgent - the user agent that will be used to control the rendering run
        stream - the output stream
        Returns:
        the new Fop instance
        Throws:
        FOPException - when the constructor fails
      • newFop

        public Fop newFop​(FOUserAgent userAgent)
                   throws FOPException
        Returns a new Fop instance. Use this factory method if you want to supply your own Renderer or FOEventHandler instance instead of the default ones created internally by FOP.
        Parameters:
        userAgent - the user agent that will be used to control the rendering run
        Returns:
        the new Fop instance
        Throws:
        FOPException - when the constructor fails
      • getRendererFactory

        public RendererFactory getRendererFactory()
        Returns:
        the RendererFactory
      • getXMLHandlerRegistry

        public XMLHandlerRegistry getXMLHandlerRegistry()
        Returns:
        the XML handler registry
      • getImageHandlerRegistry

        public ImageHandlerRegistry getImageHandlerRegistry()
        Returns:
        the image handler registry
      • getElementMappingRegistry

        public ElementMappingRegistry getElementMappingRegistry()
        Returns:
        the element mapping registry
      • getContentHandlerFactoryRegistry

        public ContentHandlerFactoryRegistry getContentHandlerFactoryRegistry()
        Returns:
        the content handler factory registry
      • addElementMapping

        public void addElementMapping​(ElementMapping elementMapping)
        Add the element mapping with the given class name.
        Parameters:
        elementMapping - the class name representing the element mapping.
      • getSourceResolution

        public float getSourceResolution()
        Specified by:
        getSourceResolution in interface org.apache.xmlgraphics.image.loader.ImageContext
        See Also:
        FopFactoryConfig.getSourceResolution()
      • getSourcePixelUnitToMillimeter

        public float getSourcePixelUnitToMillimeter()
        Returns the conversion factor from pixel units to millimeters. This depends on the desired source resolution.
        Returns:
        float conversion factor
        See Also:
        getSourceResolution()
      • getTargetPixelUnitToMillimeter

        public float getTargetPixelUnitToMillimeter()
        Returns the conversion factor from pixel units to millimeters. This depends on the desired target resolution.
        Returns:
        float conversion factor
        See Also:
        getTargetResolution()
      • getUserConfig

        public org.apache.avalon.framework.configuration.Configuration getUserConfig()
        Get the user configuration.
        Returns:
        the user configuration
      • getColorSpaceCache

        public ColorSpaceCache getColorSpaceCache()
        Returns the color space cache for this instance.

        Note: this method should not be considered as part of FOP's external API.

        Returns:
        the color space cache