## org.apache.batik.transcoder
Class SVGAbstractTranscoder

    java.lang.Object
      org.apache.batik.transcoder.TranscoderSupport
          org.apache.batik.transcoder.AbstractTranscoder
              org.apache.batik.transcoder.XMLAbstractTranscoder
                  org.apache.batik.transcoder.SVGAbstractTranscoder

All Implemented Interfaces:
  Transcoder

Direct Known Subclasses:
  ImageTranscoder, PrintTranscoder

public abstract class SVGAbstractTranscoder
extends XMLAbstractTranscoder

This class may be the base class of all transcoders which take an SVG document as input and which need to build a DOM tree. The `SVGAbstractTranscoder` uses several different hints that guide it's behaviour:

- `KEY_WIDTH, KEY_HEIGHT` can be used to specify how to scale the SVG image

Nested Class Summary
`protected class` `SVGAbstractTranscoder.SVGAbstractTranscoderUserAgent` A user agent implementation for `PrintTranscoder`.

Field Summary
`protected GVTBuilder` `builder` Current gvt builder
`protected BridgeContext` `ctx` Current bridge context
`protected java.awt.geom.Rectangle2D` `curAOI` Current area of interest.
`protected java.awt.geom.AffineTransform` `curTxf` Transform needed to render the current area of interest
`static java.lang.String` `DEFAULT_ALLOWED_SCRIPT_TYPES` Default value for the KEY_ALLOWED_SCRIPT_TYPES key
`static java.lang.String` `DEFAULT_DEFAULT_FONT_FAMILY` Value used as a default for the default font-family hint
`protected float` `height` Image's width and height (init to 400x400).
`static TranscodingHints.Key` `KEY_ALLOWED_SCRIPT_TYPES` The set of supported script languages (i.e., the set of possible values for the <script> tag's type attribute).
`static TranscodingHints.Key` `KEY_ALTERNATE_STYLESHEET` The alternate stylesheet key.
`static TranscodingHints.Key` `KEY_AOI` The area of interest key.
`static TranscodingHints.Key` `KEY_CONSTRAIN_SCRIPT_ORIGIN` Controls whether or not scripts can only be loaded from the same location as the document which references them.
`static TranscodingHints.Key` `KEY_DEFAULT_FONT_FAMILY` The default font-family key.
`static TranscodingHints.Key` `KEY_EXECUTE_ONLOAD` The 'onload' execution key.
`static TranscodingHints.Key` `KEY_HEIGHT` The image height key.
`static TranscodingHints.Key` `KEY_LANGUAGE` The language key.
`static TranscodingHints.Key` `KEY_MAX_HEIGHT` The maximux height of the image key.
`static TranscodingHints.Key` `KEY_MAX_WIDTH` The maximum width of the image key.
`static TranscodingHints.Key` `KEY_MEDIA` The media key.
`static TranscodingHints.Key` `KEY_PIXEL_TO_MM` Deprecated. As of Batik Version 1.5b3
`static TranscodingHints.Key` `KEY_PIXEL_UNIT_TO_MILLIMETER` The number of millimeters in each pixel key.
`static TranscodingHints.Key` `KEY_USER_STYLESHEET_URI` The user stylesheet URI key.
`static TranscodingHints.Key` `KEY_WIDTH` The image width key.
`protected GraphicsNode` `root` Current GVT Tree, i.e., the GVT tree representing the page being printed currently.
`protected UserAgent` `userAgent` The user agent dedicated to an SVG Transcoder.
`protected float` `width` Image's width and height (init to 400x400).

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
`protected` `SVGAbstractTranscoder()`

Method Summary
`protected BridgeContext` `createBridgeContext()` Factory method for constructing an configuring a BridgeContext so subclasses can insert new/modified bridges in the context.
`protected DocumentFactory` `createDocumentFactory(org.w3c.dom.DOMImplementation domImpl, java.lang.String parserClassname)` Creates a `DocumentFactory` that is used to create an SVG DOM tree.
`protected UserAgent` `createUserAgent()`
`protected CanvasGraphicsNode` `getCanvasGraphicsNode(GraphicsNode gn)`
`protected void` `setImageSize(float docWidth, float docHeight)` Sets document size according to the hints.
`protected void` `transcode(org.w3c.dom.Document document, java.lang.String uri, TranscoderOutput output)` Transcodes the specified Document as an image in the specified output.
`void` `transcode(TranscoderInput input, TranscoderOutput output)` Transcodes the specified XML input in the specified output.

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

### DEFAULT_DEFAULT_FONT_FAMILY

    public static final java.lang.String DEFAULT_DEFAULT_FONT_FAMILY

  Value used as a default for the default font-family hint

  See Also:
    Constant Field Values

### curAOI

    protected java.awt.geom.Rectangle2D curAOI

  Current area of interest.

### curTxf

    protected java.awt.geom.AffineTransform curTxf

  Transform needed to render the current area of interest

### root

    protected GraphicsNode root

  Current GVT Tree, i.e., the GVT tree representing the page being printed currently.

### ctx

    protected BridgeContext ctx

  Current bridge context

### builder

    protected GVTBuilder builder

  Current gvt builder

### width

    protected float width

  Image's width and height (init to 400x400).

### height

    protected float height

  Image's width and height (init to 400x400).

### userAgent

    protected UserAgent userAgent

  The user agent dedicated to an SVG Transcoder.

### KEY_WIDTH

    public static final TranscodingHints.Key KEY_WIDTH

  The image width key.

  Key: | KEY_WIDTH
  Value: | Float
  Default: | The width of the top most svg element
  Required: | No
  Description: | Specify the width of the image to create.

### KEY_HEIGHT

    public static final TranscodingHints.Key KEY_HEIGHT

  The image height key.

  Key: | KEY_HEIGHT
  Value: | Float
  Default: | The height of the top most svg element
  Required: | No
  Description: | Specify the height of the image to create.

### KEY_MAX_WIDTH

    public static final TranscodingHints.Key KEY_MAX_WIDTH

  The maximum width of the image key.

  Key: | KEY_MAX_WIDTH
  Value: | Float
  Default: | The width of the top most svg element
  Required: | No
  Description: | Specify the maximum width of the image to create. The value will set the maximum width of the image even when bigger width is specified in a document or set with KEY_WIDTH.

### KEY_MAX_HEIGHT

    public static final TranscodingHints.Key KEY_MAX_HEIGHT

  The maximux height of the image key.

  Key: | KEY_MAX_HEIGHT
  Value: | Float
  Default: | The height of the top most svg element
  Required: | No
  Description: | Specify the maximum height of the image to create. The value will set the maximum height of the image even when bigger height is specified in a document or set with KEY_HEIGHT.

### KEY_AOI

    public static final TranscodingHints.Key KEY_AOI

  The area of interest key.

  Key: | KEY_AOI
  Value: | Rectangle2D
  Default: | The document's size
  Required: | No
  Description: | Specify the area of interest to render. The rectangle coordinates must be specified in pixels and in the document coordinates system.

### KEY_LANGUAGE

    public static final TranscodingHints.Key KEY_LANGUAGE

  The language key.

  Key: | KEY_LANGUAGE
  Value: | String
  Default: | "en"
  Required: | No
  Description: | Specify the preferred language of the document.

### KEY_MEDIA

    public static final TranscodingHints.Key KEY_MEDIA

  The media key.

  Key: | KEY_MEDIA
  Value: | String
  Default: | "screen"
  Required: | No
  Description: | Specify the media to use with CSS.

### KEY_DEFAULT_FONT_FAMILY

    public static final TranscodingHints.Key KEY_DEFAULT_FONT_FAMILY

  The default font-family key.

  Key: | KEY_DEFAULT_FONT_FAMILY
  Value: | String
  Default: | "Arial, Helvetica, sans-serif"
  Required: | No
  Description: | Controls the default value used by the CSS engine for the font-family property when that property is unspecified.Specify the media to use with CSS.

### KEY_ALTERNATE_STYLESHEET

    public static final TranscodingHints.Key KEY_ALTERNATE_STYLESHEET

  The alternate stylesheet key.

  Key: | KEY_ALTERNATE_STYLESHEET
  Value: | String
  Default: | null
  Required: | No
  Description: | Specify the alternate style sheet title.

### KEY_USER_STYLESHEET_URI

    public static final TranscodingHints.Key KEY_USER_STYLESHEET_URI

  The user stylesheet URI key.

  Key: | KEY_USER_STYLESHEET_URI
  Value: | String
  Default: | null
  Required: | No
  Description: | Specify the user style sheet.

### KEY_PIXEL_UNIT_TO_MILLIMETER

    public static final TranscodingHints.Key KEY_PIXEL_UNIT_TO_MILLIMETER

  The number of millimeters in each pixel key.

  Key: | KEY_PIXEL_UNIT_TO_MILLIMETER
  Value: | Float
  Default: | 0.264583
  Required: | No
  Description: | Specify the size of a px CSS unit in millimeters.

### KEY_PIXEL_TO_MM

    public static final TranscodingHints.Key KEY_PIXEL_TO_MM

  Deprecated. As of Batik Version 1.5b3

  The pixel to millimeter conversion factor key.

  See Also:
    `

    Key: | KEY_PIXEL_TO_MM
    Value: | Float
    Default: | 0.264583
    Required: | No
    Description: | Specify the size of a px CSS unit in millimeters.

    `

### KEY_EXECUTE_ONLOAD

    public static final TranscodingHints.Key KEY_EXECUTE_ONLOAD

  The 'onload' execution key.

  Key: | KEY_EXECUTE_ONLOAD
  Value: | Boolean
  Default: | false
  Required: | No
  Description: | Specify if scripts added on the 'onload' event attribute must be invoked.

### KEY_ALLOWED_SCRIPT_TYPES

    public static final TranscodingHints.Key KEY_ALLOWED_SCRIPT_TYPES

  The set of supported script languages (i.e., the set of possible values for the <script> tag's type attribute).

  Key: | KEY_ALLOWED_SCRIPT_TYPES
  Value: | String (Comma separated values)
  Default: | text/ecmascript, application/java-archive
  Required: | No
  Description: | Specifies the allowed values for the type attribute in the <script> element. This is a comma separated list. The special value '*' means that all script types are allowed.

### DEFAULT_ALLOWED_SCRIPT_TYPES

    public static final java.lang.String DEFAULT_ALLOWED_SCRIPT_TYPES

  Default value for the KEY_ALLOWED_SCRIPT_TYPES key

  See Also:
    Constant Field Values

### KEY_CONSTRAIN_SCRIPT_ORIGIN

    public static final TranscodingHints.Key KEY_CONSTRAIN_SCRIPT_ORIGIN

  Controls whether or not scripts can only be loaded from the same location as the document which references them.

  Key: | KEY_CONSTRAIN_SCRIPT_ORIGIN
  Value: | boolean
  Default: | true
  Required: | No
  Description: | When set to true, script elements referencing files from a different origin (server) than the document containing the script element will not be loaded. When set to true, script elements may reference script files from any origin.

Constructor Detail

### SVGAbstractTranscoder

    protected SVGAbstractTranscoder()

Method Detail

### createUserAgent

    protected UserAgent createUserAgent()

### createDocumentFactory

    protected DocumentFactory createDocumentFactory(org.w3c.dom.DOMImplementation domImpl,
                                                    java.lang.String parserClassname)

  Creates a `DocumentFactory` that is used to create an SVG DOM tree. The specified DOM Implementation is ignored and the Batik SVG DOM Implementation is automatically used.

  Overrides:
    `createDocumentFactory` in class `XMLAbstractTranscoder`
  Parameters:
    `domImpl` - the DOM Implementation (not used)
    `parserClassname` - the XML parser classname

### transcode

    public void transcode(TranscoderInput input,
                          TranscoderOutput output)
                   throws TranscoderException

  Description copied from class: `XMLAbstractTranscoder`
  Transcodes the specified XML input in the specified output. All `TranscoderException` exceptions not catched previously are tagged as fatal errors (ie. call the `fatalError` method of the `ErrorHandler`).

  Specified by:
    `transcode` in interface `Transcoder`
  Overrides:
    `transcode` in class `XMLAbstractTranscoder`
  Parameters:
    `input` - the XML input to transcode
    `output` - the ouput where to transcode
  Throws:
    `TranscoderException` - if an error occured while transcoding

### transcode

    protected void transcode(org.w3c.dom.Document document,
                             java.lang.String uri,
                             TranscoderOutput output)
                      throws TranscoderException

  Transcodes the specified Document as an image in the specified output.

  Specified by:
    `transcode` in class `XMLAbstractTranscoder`
  Parameters:
    `document` - the document to transcode
    `uri` - the uri of the document or null if any
    `output` - the ouput where to transcode
  Throws:
    `TranscoderException` - if an error occured while transcoding

### getCanvasGraphicsNode

    protected CanvasGraphicsNode getCanvasGraphicsNode(GraphicsNode gn)

### createBridgeContext

    protected BridgeContext createBridgeContext()

  Factory method for constructing an configuring a BridgeContext so subclasses can insert new/modified bridges in the context.

### setImageSize

    protected void setImageSize(float docWidth,
                                float docHeight)

  Sets document size according to the hints. Global variables width and height are modified.

  Parameters:
    `docWidth` - Width of the document.
    `docHeight` - Height of the document.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.