org.apache.fop.svg

## Class PDFTranscoder

- java.lang.Object
- - org.apache.batik.transcoder.TranscoderSupport
  - - org.apache.batik.transcoder.AbstractTranscoder
    - - org.apache.batik.transcoder.XMLAbstractTranscoder
      - - org.apache.batik.transcoder.SVGAbstractTranscoder
        - - org.apache.fop.svg.AbstractFOPTranscoder
          - - org.apache.fop.svg.PDFTranscoder

- All Implemented Interfaces:
    org.apache.batik.transcoder.Transcoder, Configurable

      public class PDFTranscoder
      extends AbstractFOPTranscoder

  This class enables to transcode an input to a PDF document.

  Two transcoding hints (`KEY_WIDTH` and `KEY_HEIGHT`) can be used to respectively specify the image width and the image height. If only one of these keys is specified, the transcoder preserves the aspect ratio of the original image.

  The `KEY_BACKGROUND_COLOR` defines the background color to use for opaque image formats, or the background color that may be used for image formats that support alpha channel.

  The `KEY_AOI` represents the area of interest to paint in device space.

  Three additional transcoding hints that act on the SVG processor can be specified:

  `KEY_LANGUAGE` to set the default language to use (may be used by a <switch> SVG element for example), `KEY_USER_STYLESHEET_URI` to fix the URI of a user stylesheet, and `KEY_PIXEL_TO_MM` to specify the pixel to millimeter conversion factor.

  `KEY_AUTO_FONTS` to disable the auto-detection of fonts installed in the system. The PDF Transcoder cannot use AWT's font subsystem and that's why the fonts have to be configured differently. By default, font auto-detection is enabled to match the behaviour of the other transcoders, but this may be associated with a price in the form of a small performance penalty. If font auto-detection is not desired, it can be disable using this key.

  This work was authored by Keiron Liddle (keiron@aftexsw.com).

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.svg.AbstractFOPTranscoder

      `AbstractFOPTranscoder.FOPErrorHandler, AbstractFOPTranscoder.FOPTranscoderUserAgent`

    - ### Nested classes/interfaces inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder

      `org.apache.batik.transcoder.SVGAbstractTranscoder.SVGAbstractTranscoderUserAgent`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected PDFDocumentGraphics2D` | `graphics` Graphics2D instance that is used to paint to

    - ### Fields inherited from class org.apache.fop.svg.AbstractFOPTranscoder

      `KEY_AUTO_FONTS, KEY_DEVICE_RESOLUTION, KEY_STROKE_TEXT, VALUE_FORMAT_OFF, VALUE_FORMAT_ON`

    - ### Fields inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder

      `builder, ctx, curAOI, curTxf, DEFAULT_ALLOWED_SCRIPT_TYPES, DEFAULT_DEFAULT_FONT_FAMILY, height, KEY_ALLOW_EXTERNAL_RESOURCES, KEY_ALLOWED_SCRIPT_TYPES, KEY_ALTERNATE_STYLESHEET, KEY_AOI, KEY_CONSTRAIN_SCRIPT_ORIGIN, KEY_DEFAULT_FONT_FAMILY, KEY_EXECUTE_ONLOAD, KEY_HEIGHT, KEY_LANGUAGE, KEY_MAX_HEIGHT, KEY_MAX_WIDTH, KEY_MEDIA, KEY_PIXEL_TO_MM, KEY_PIXEL_UNIT_TO_MILLIMETER, KEY_SNAPSHOT_TIME, KEY_USER_STYLESHEET_URI, KEY_WIDTH, root, userAgent, width`

    - ### Fields inherited from class org.apache.batik.transcoder.XMLAbstractTranscoder

      `KEY_DOCUMENT_ELEMENT, KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, KEY_DOM_IMPLEMENTATION, KEY_XML_PARSER_CLASSNAME, KEY_XML_PARSER_VALIDATING`

    - ### Fields inherited from class org.apache.batik.transcoder.TranscoderSupport

      `handler, hints`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFTranscoder()` Constructs a new `PDFTranscoder`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.apache.batik.bridge.BridgeContext` | `createBridgeContext()`
    `org.apache.batik.bridge.BridgeContext` | `createBridgeContext(String version)`
    `protected AbstractFOPTranscoder.FOPTranscoderUserAgent` | `createUserAgent()` Creates and returns the default user agent for this transcoder.
    `protected void` | `transcode(Document document, String uri, org.apache.batik.transcoder.TranscoderOutput output)` Transcodes the specified Document as an image in the specified output.

    - ### Methods inherited from class org.apache.fop.svg.AbstractFOPTranscoder

      `configure, createDocumentFactory, getAutoFontsDefault, getDeviceResolution, getEffectiveConfiguration, getImageManager, getImageSessionContext, getLogger, isTextStroked, setEntityResolver, setLogger, setupImageInfrastructure`

    - ### Methods inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder

      `createBridgeContext, getCanvasGraphicsNode, setImageSize, transcode`

    - ### Methods inherited from class org.apache.batik.transcoder.TranscoderSupport

      `addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints`

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

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

    - ### Methods inherited from interface org.apache.batik.transcoder.Transcoder

      `addTranscodingHint, getErrorHandler, getTranscodingHints, removeTranscodingHint, setErrorHandler, setTranscodingHints, setTranscodingHints`

- - ### Field Detail

    - #### graphics

          protected PDFDocumentGraphics2D graphics

      Graphics2D instance that is used to paint to

  - ### Constructor Detail

    - #### PDFTranscoder

          public PDFTranscoder()

      Constructs a new `PDFTranscoder`.

  - ### Method Detail

    - #### createUserAgent

          protected AbstractFOPTranscoder.FOPTranscoderUserAgent createUserAgent()

      Creates and returns the default user agent for this transcoder. Override this method if you need non-default behaviour.
      Overrides:
        `createUserAgent` in class `AbstractFOPTranscoder`
      Returns:
        UserAgent the newly created user agent

    - #### transcode

          protected void transcode(Document document,
                                   String uri,
                                   org.apache.batik.transcoder.TranscoderOutput output)
                            throws org.apache.batik.transcoder.TranscoderException

      Transcodes the specified Document as an image in the specified output.
      Overrides:
        `transcode` in class `org.apache.batik.transcoder.SVGAbstractTranscoder`
      Parameters:
        `document` - the document to transcode
        `uri` - the uri of the document or null if any
        `output` - the ouput where to transcode
      Throws:
        `org.apache.batik.transcoder.TranscoderException` - if an error occured while transcoding

    - #### createBridgeContext

          protected org.apache.batik.bridge.BridgeContext createBridgeContext()

      Overrides:
        `createBridgeContext` in class `org.apache.batik.transcoder.SVGAbstractTranscoder`

    - #### createBridgeContext

          public org.apache.batik.bridge.BridgeContext createBridgeContext(String version)

      Overrides:
        `createBridgeContext` in class `org.apache.batik.transcoder.SVGAbstractTranscoder`

Copyright © 2025 Apache Software Foundation. All rights reserved.