org.apache.batik.transcoder
Class SVGAbstractTranscoder

java.lang.Object
  extended by org.apache.batik.transcoder.TranscoderSupport
      extended by org.apache.batik.transcoder.AbstractTranscoder
          extended by org.apache.batik.transcoder.XMLAbstractTranscoder
              extended by 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:


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  Rectangle2D curAOI
          Current area of interest.
protected  AffineTransform curTxf
          Transform needed to render the current area of interest
static String DEFAULT_ALLOWED_SCRIPT_TYPES
          Default value for the KEY_ALLOWED_SCRIPT_TYPES key
static 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_SNAPSHOT_TIME
          The snapshot time 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()
          Creates the default SVG 1.0/1.1 BridgeContext.
protected  BridgeContext createBridgeContext(String svgVersion)
          Creates the BridgeContext.
protected  BridgeContext createBridgeContext(SVGOMDocument doc)
          Factory method for constructing an configuring a BridgeContext so subclasses can insert new/modified bridges in the context.
protected  DocumentFactory createDocumentFactory(DOMImplementation domImpl, 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(Document document, 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 String DEFAULT_DEFAULT_FONT_FAMILY
Value used as a default for the default font-family hint

See Also:
Constant Field Values

curAOI

protected Rectangle2D curAOI
Current area of interest.


curTxf

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

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(Document document,
                         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(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(String) instead.

Returns:
the newly instantiated BridgeContext
See Also:
createBridgeContext(String)

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

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 © 2008 Apache Software Foundation. All Rights Reserved.