org.apache.fop.render.ps

## Class ResourceHandler

- java.lang.Object
- - org.apache.fop.render.ps.ResourceHandler

- All Implemented Interfaces:
    PSSupportedFlavors, org.apache.xmlgraphics.ps.dsc.DSCParserConstants

      public class ResourceHandler
      extends Object
      implements org.apache.xmlgraphics.ps.dsc.DSCParserConstants, PSSupportedFlavors

  This class is used when two-pass production is used to generate the PostScript file (setting "optimize-resources"). It uses the DSC parser from XML Graphics Commons to go over the temporary file generated by the PSRenderer and adds all used fonts and images as resources to the PostScript file.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.xmlgraphics.ps.dsc.DSCParserConstants

      `COMMENT, DSC_COMMENT, EOF, HEADER_COMMENT, LINE`

    - ### Fields inherited from interface org.apache.fop.render.ps.PSSupportedFlavors

      `LEVEL_2_FLAVORS_FORM, LEVEL_2_FLAVORS_INLINE, LEVEL_3_FLAVORS_FORM, LEVEL_3_FLAVORS_INLINE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResourceHandler(FOUserAgent userAgent, PSEventProducer eventProducer, FontInfo fontInfo, org.apache.xmlgraphics.ps.dsc.ResourceTracker resTracker, Map formResources)` Main constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `process(InputStream in, OutputStream out, int pageCount, Rectangle2D documentBoundingBox, PSRenderingUtil psUtil)` Rewrites the temporary PostScript file generated by PSRenderer adding all needed resources (fonts and images).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ResourceHandler

          public ResourceHandler(FOUserAgent userAgent,
                                 PSEventProducer eventProducer,
                                 FontInfo fontInfo,
                                 org.apache.xmlgraphics.ps.dsc.ResourceTracker resTracker,
                                 Map formResources)

      Main constructor.
      Parameters:
        `userAgent` - the FO user agent
        `eventProducer` - the event producer
        `fontInfo` - the font information
        `resTracker` - the resource tracker to use
        `formResources` - Contains all forms used by this document (maintained by PSRenderer)

  - ### Method Detail

    - #### process

          public void process(InputStream in,
                              OutputStream out,
                              int pageCount,
                              Rectangle2D documentBoundingBox,
                              PSRenderingUtil psUtil)
                       throws org.apache.xmlgraphics.ps.dsc.DSCException,
                              IOException

      Rewrites the temporary PostScript file generated by PSRenderer adding all needed resources (fonts and images).
      Parameters:
        `in` - the InputStream for the temporary PostScript file
        `out` - the OutputStream to write the finished file to
        `pageCount` - the number of pages (given here because PSRenderer writes an "(atend)")
        `documentBoundingBox` - the document's bounding box (given here because PSRenderer writes an "(atend)")
        `psUtil` -
      Throws:
        `org.apache.xmlgraphics.ps.dsc.DSCException` - If there's an error in the DSC structure of the PS file
        `IOException` - In case of an I/O error

Copyright © 2025 Apache Software Foundation. All rights reserved.