org.apache.batik.transcoder

Class SVGAbstractTranscoder

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:
Nested Class Summary
protected classSVGAbstractTranscoder.SVGAbstractTranscoderUserAgent
A user agent implementation for PrintTranscoder.
Field Summary
protected GVTBuilderbuilder
Current gvt builder
protected BridgeContextctx
Current bridge context
protected Rectangle2DcurAOI
Current area of interest.
protected AffineTransformcurTxf
Transform needed to render the current area of interest
static StringDEFAULT_ALLOWED_SCRIPT_TYPES
Default value for the KEY_ALLOWED_SCRIPT_TYPES key
static StringDEFAULT_DEFAULT_FONT_FAMILY
Value used as a default for the default font-family hint
protected floatheight
Image's width and height (init to 400x400).
static TranscodingHints.KeyKEY_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.KeyKEY_ALTERNATE_STYLESHEET
The alternate stylesheet key.
static TranscodingHints.KeyKEY_AOI
The area of interest key.
static TranscodingHints.KeyKEY_CONSTRAIN_SCRIPT_ORIGIN
Controls whether or not scripts can only be loaded from the same location as the document which references them.
static TranscodingHints.KeyKEY_DEFAULT_FONT_FAMILY
The default font-family key.
static TranscodingHints.KeyKEY_EXECUTE_ONLOAD
The 'onload' execution key.
static TranscodingHints.KeyKEY_HEIGHT
The image height key.
static TranscodingHints.KeyKEY_LANGUAGE
The language key.
static TranscodingHints.KeyKEY_MAX_HEIGHT
The maximux height of the image key.
static TranscodingHints.KeyKEY_MAX_WIDTH
The maximum width of the image key.
static TranscodingHints.KeyKEY_MEDIA
The media key.
static TranscodingHints.KeyKEY_PIXEL_TO_MM
The pixel to millimeter conversion factor key.
static TranscodingHints.KeyKEY_PIXEL_UNIT_TO_MILLIMETER
The number of millimeters in each pixel key.
static TranscodingHints.KeyKEY_SNAPSHOT_TIME
The snapshot time key.
static TranscodingHints.KeyKEY_USER_STYLESHEET_URI
The user stylesheet URI key.
static TranscodingHints.KeyKEY_WIDTH
The image width key.
protected GraphicsNoderoot
Current GVT Tree, i.e., the GVT tree representing the page being printed currently.
protected UserAgentuserAgent
The user agent dedicated to an SVG Transcoder.
protected floatwidth
Image's width and height (init to 400x400).
Constructor Summary
protected SVGAbstractTranscoder()
Method Summary
protected BridgeContextcreateBridgeContext(SVGOMDocument doc)
Factory method for constructing an configuring a BridgeContext so subclasses can insert new/modified bridges in the context.
protected BridgeContextcreateBridgeContext()
Creates the default SVG 1.0/1.1 BridgeContext.
protected BridgeContextcreateBridgeContext(String svgVersion)
Creates the BridgeContext.
protected DocumentFactorycreateDocumentFactory(DOMImplementation domImpl, String parserClassname)
Creates a DocumentFactory that is used to create an SVG DOM tree.
protected UserAgentcreateUserAgent()
protected CanvasGraphicsNodegetCanvasGraphicsNode(GraphicsNode gn)
protected voidsetImageSize(float docWidth, float docHeight)
Sets document size according to the hints.
voidtranscode(TranscoderInput input, TranscoderOutput output)
protected voidtranscode(Document document, String uri, TranscoderOutput output)
Transcodes the specified Document as an image in the specified output.

Field Detail

builder

protected GVTBuilder builder
Current gvt builder

ctx

protected BridgeContext ctx
Current bridge context

curAOI

protected Rectangle2D curAOI
Current area of interest.

curTxf

protected AffineTransform curTxf
Transform needed to render the current area of interest

DEFAULT_ALLOWED_SCRIPT_TYPES

public static final String DEFAULT_ALLOWED_SCRIPT_TYPES
Default value for the KEY_ALLOWED_SCRIPT_TYPES key

DEFAULT_DEFAULT_FONT_FAMILY

public static final String DEFAULT_DEFAULT_FONT_FAMILY
Value used as a default for the default font-family hint

height

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

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.

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_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_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.

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_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_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_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_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_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_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_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_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_SNAPSHOT_TIME

public static final TranscodingHints.Key KEY_SNAPSHOT_TIME
The snapshot time key.

Key:

KEY_SNAPSHOT_TIME

Value:

Float

Default:

0

Required:

No

Description:

Specifies the document time to seek to before rasterization. Only applies if KEY_EXECUTE_ONLOAD is set to true.

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_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.

root

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

userAgent

protected UserAgent userAgent
The user agent dedicated to an SVG Transcoder.

width

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

Constructor Detail

SVGAbstractTranscoder

protected SVGAbstractTranscoder()

Method Detail

createBridgeContext

protected BridgeContext createBridgeContext(SVGOMDocument doc)
Factory method for constructing an configuring a BridgeContext so subclasses can insert new/modified bridges in the context.

Parameters: doc the SVG document to create the BridgeContext for

Returns: the newly instantiated BridgeContext

createBridgeContext

protected BridgeContext createBridgeContext()
Creates the default SVG 1.0/1.1 BridgeContext. Subclass this method to provide customized bridges. This method is provided for historical reasons. New applications should use createBridgeContext instead.

Returns: the newly instantiated BridgeContext

See Also: createBridgeContext

createBridgeContext

protected BridgeContext createBridgeContext(String svgVersion)
Creates the BridgeContext. Subclass this method to provide customized bridges. For example, Apache FOP uses this method to register special bridges for optimized text painting.

Parameters: svgVersion the SVG version in use (ex. "1.0", "1.x" or "1.2")

Returns: the newly instantiated BridgeContext

createDocumentFactory

protected DocumentFactory createDocumentFactory(DOMImplementation domImpl, 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.

Parameters: domImpl the DOM Implementation (not used) parserClassname the XML parser classname

createUserAgent

protected UserAgent createUserAgent()

getCanvasGraphicsNode

protected CanvasGraphicsNode getCanvasGraphicsNode(GraphicsNode gn)

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.

transcode

public void transcode(TranscoderInput input, TranscoderOutput output)

transcode

protected void transcode(Document document, String uri, TranscoderOutput output)
Transcodes the specified Document as an image in the specified output.

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

Copyright B) 2008 Apache Software Foundation. All Rights Reserved.