Class FopFactory

java.lang.Object
org.apache.fop.apps.FopFactory
All Implemented Interfaces:
org.apache.xmlgraphics.image.loader.ImageContext

public final class FopFactory extends 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 Details

    • 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(File fopConf) throws SAXException, 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:
      IOException
      SAXException
    • newInstance

      public static FopFactory newInstance(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(URI baseURI, InputStream confStream) throws SAXException, 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:
      SAXException
      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(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(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(String outputFormat, 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(String outputFormat, FOUserAgent userAgent, 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.
    • getImageManager

      public org.apache.xmlgraphics.image.loader.ImageManager getImageManager()
      See Also:
    • getLayoutManagerMakerOverride

      public LayoutManagerMaker getLayoutManagerMakerOverride()
      See Also:
    • getHyphenationPatternNames

      public Map<String,String> getHyphenationPatternNames()
      See Also:
    • validateStrictly

      public boolean validateStrictly()
      See Also:
    • isBreakIndentInheritanceOnReferenceAreaBoundary

      public boolean isBreakIndentInheritanceOnReferenceAreaBoundary()
      See Also:
    • getSourceResolution

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

      public float getTargetResolution()
      See Also:
    • getHyphenationResourceResolver

      public InternalResourceResolver getHyphenationResourceResolver()
    • 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:
    • 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:
    • getPageHeight

      public String getPageHeight()
      See Also:
    • getPageWidth

      public String getPageWidth()
      See Also:
    • isNamespaceIgnored

      public boolean isNamespaceIgnored(String namespaceURI)
      See Also:
    • getIgnoredNamespace

      public Set<String> getIgnoredNamespace()
      See Also:
    • getUserConfig

      public Configuration getUserConfig()
      Get the user configuration.
      Returns:
      the user configuration
    • validateUserConfigStrictly

      public boolean validateUserConfigStrictly()
      See Also:
    • getFontManager

      public FontManager getFontManager()
      See Also:
    • 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
    • getHyphenationTreeCache

      public HyphenationTreeCache getHyphenationTreeCache()