org.apache.fop.render

## Interface ImageHandler

- All Superinterfaces:
    ImageHandlerBase
  All Known Subinterfaces:
    PSImageHandler
  All Known Implementing Classes:
    AbstractAFPImageHandlerRawStream, AbstractImageHandlerGraphics2D, AFPImageHandlerGraphics2D, AFPImageHandlerRawCCITTFax, AFPImageHandlerRawJPEG, AFPImageHandlerRawStream, AFPImageHandlerRenderedImage, AFPImageHandlerSVG, Java2DImageHandlerGraphics2D, Java2DImageHandlerRenderedImage, PCLImageHandlerGraphics2D, PCLImageHandlerRenderedImage, PDFImageHandlerGraphics2D, PDFImageHandlerRawCCITTFax, PDFImageHandlerRawJPEG, PDFImageHandlerRawPNG, PDFImageHandlerRenderedImage, PDFImageHandlerSVG, PSImageHandlerEPS, PSImageHandlerGraphics2D, PSImageHandlerRawCCITTFax, PSImageHandlerRawJPEG, PSImageHandlerRawPNG, PSImageHandlerRenderedImage, PSImageHandlerSVG

      public interface ImageHandler
      extends ImageHandlerBase

  This interface is a service provider interface for image handlers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `handleImage(RenderingContext context, org.apache.xmlgraphics.image.loader.Image image, Rectangle pos)` Handles the given `Image` instance painting it at the indicated position in the output format being generated.
    `boolean` | `isCompatible(RenderingContext targetContext, org.apache.xmlgraphics.image.loader.Image image)` Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed.

    - ### Methods inherited from interface org.apache.fop.render.ImageHandlerBase

      `getPriority, getSupportedImageClass, getSupportedImageFlavors`

- - ### Method Detail

    - #### isCompatible

          boolean isCompatible(RenderingContext targetContext,
                               org.apache.xmlgraphics.image.loader.Image image)

      Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed. The image is also passed as a parameter because a handler might not support every subtype of image that is presented. For example: in the case of `ImageXMLDOM`, the image might carry an SVG or some other XML format. One handler might only handle SVG but no other XML format.
      Parameters:
        `targetContext` - the target rendering context
        `image` - the image to be processed (or null if only to check based on the rendering context)
      Returns:
        true if this handler is compatible with the target rendering context

    - #### handleImage

          void handleImage(RenderingContext context,
                           org.apache.xmlgraphics.image.loader.Image image,
                           Rectangle pos)
                    throws IOException

      Handles the given `Image` instance painting it at the indicated position in the output format being generated.
      Parameters:
        `context` - the rendering context
        `image` - the image to be handled
        `pos` - the position and scaling of the image relative to the origin point of the current viewport (in millipoints)
      Throws:
        `IOException` - if an I/O error occurs

Copyright © 2025 Apache Software Foundation. All rights reserved.