Class PrintTranscoder
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.batik.transcoder.print.PrintTranscoder
- All Implemented Interfaces:
Printable
,Transcoder
This class is a
However, the
The
Transcoder
that prints SVG images.
This class works as follows: any-time the transcode method
is invoked, the corresponding input is cached and nothing
else happens. However, the
PrintTranscoder
is also a Printable. If used
in a print operation, it will print each of the input
it cached, one input per page.
The
PrintTranscoder
uses several different hints that
guide its printing:KEY_LANGUAGE, KEY_USER_STYLESHEET_URI, KEY_PIXEL_TO_MM, KEY_XML_PARSER_CLASSNAME
can be used to set the defaults for the various SVG properties.KEY_PAGE_WIDTH, KEY_PAGE_HEIGHT, KEY_MARGIN_TOP, KEY_MARGIN_BOTTOM, KEY_MARGIN_LEFT, KEY_MARGIN_RIGHT
andKEY_PAGE_ORIENTATION
can be used to specify the printing page characteristics.KEY_WIDTH, KEY_HEIGHT
can be used to specify how to scale the SVG imageKEY_SCALE_TO_PAGE
can be used to specify whether or not the SVG image should be scaled uniformly to fit into the printed page or if it should just be centered into the printed page.
- Version:
- $Id: PrintTranscoder.java 1808001 2017-09-11 09:51:29Z ssteiner $
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder
SVGAbstractTranscoder.SVGAbstractTranscoderUserAgent
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
Index of the page corresponding to rootprivate List
Set of inputs this transcoder has been requested to transcode so far.static final String
static final String
static final String
static final TranscodingHints.Key
The marginBottom key.static final String
static final TranscodingHints.Key
The marginLeft key.static final String
static final TranscodingHints.Key
The marginRight key.static final String
static final TranscodingHints.Key
The marginTop key.static final String
static final TranscodingHints.Key
The pageHeight key.static final String
static final TranscodingHints.Key
The pageOrientation key.static final String
static final TranscodingHints.Key
The pageWidth key.static final String
static final String
static final TranscodingHints.Key
The scaleToPage key.static final String
static final TranscodingHints.Key
The showPageDialog key.static final String
static final TranscodingHints.Key
The showPrinterDialog key.static final String
static final String
static final String
static final String
private List
Currently printing set of pages.private BridgeContext
Place to cache BridgeContext so we can dispose of it when it is appropriate.static final String
static final String
static final String
static final String
static final String
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
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Prints an error on the output pagestatic void
handleValueError
(String property, String value) static void
void
print()
Convenience methodint
print
(Graphics _g, PageFormat pageFormat, int pageIndex) Printable implementationprotected void
setImageSize
(float docWidth, float docHeight) Sets document size according to the hints.static void
setTranscoderBooleanHint
(Transcoder transcoder, String property, TranscodingHints.Key key) static void
setTranscoderFloatHint
(Transcoder transcoder, String property, TranscodingHints.Key key) static void
setTranscoderRectangleHint
(Transcoder transcoder, String property, TranscodingHints.Key key) static void
setTranscoderStringHint
(Transcoder transcoder, String property, TranscodingHints.Key key) void
transcode
(TranscoderInput in, TranscoderOutput out) Transcodes the specified XML input in the specified output.protected void
transcode
(Document document, String uri, TranscoderOutput output) Transcodes the specified Document as an image in the specified output.Methods inherited from class org.apache.batik.transcoder.SVGAbstractTranscoder
createBridgeContext, createBridgeContext, createBridgeContext, createDocumentFactory, createUserAgent, getCanvasGraphicsNode
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 Details
-
KEY_AOI_STR
- See Also:
-
KEY_HEIGHT_STR
- See Also:
-
KEY_LANGUAGE_STR
- See Also:
-
KEY_MARGIN_BOTTOM_STR
- See Also:
-
KEY_MARGIN_LEFT_STR
- See Also:
-
KEY_MARGIN_RIGHT_STR
- See Also:
-
KEY_MARGIN_TOP_STR
- See Also:
-
KEY_PAGE_HEIGHT_STR
- See Also:
-
KEY_PAGE_ORIENTATION_STR
- See Also:
-
KEY_PAGE_WIDTH_STR
- See Also:
-
KEY_PIXEL_TO_MM_STR
- See Also:
-
KEY_SCALE_TO_PAGE_STR
- See Also:
-
KEY_SHOW_PAGE_DIALOG_STR
- See Also:
-
KEY_SHOW_PRINTER_DIALOG_STR
- See Also:
-
KEY_USER_STYLESHEET_URI_STR
- See Also:
-
KEY_WIDTH_STR
- See Also:
-
KEY_XML_PARSER_CLASSNAME_STR
- See Also:
-
VALUE_MEDIA_PRINT
- See Also:
-
VALUE_PAGE_ORIENTATION_LANDSCAPE
- See Also:
-
VALUE_PAGE_ORIENTATION_PORTRAIT
- See Also:
-
VALUE_PAGE_ORIENTATION_REVERSE_LANDSCAPE
- See Also:
-
inputs
Set of inputs this transcoder has been requested to transcode so far. Purpose is not really clear: some data is added, and it is copied into printedInputs. But it is never read or cleared... -
printedInputs
Currently printing set of pages. This vector is created as a clone of inputs when the first page is printed. -
curIndex
private int curIndexIndex of the page corresponding to root -
theCtx
Place to cache BridgeContext so we can dispose of it when it is appropriate. The Baseclass would dispose of it too soon. -
KEY_SHOW_PAGE_DIALOG
The showPageDialog key.Key: KEY_SHOW_PAGE_DIALOG Value: Boolean Default: false Required: No Description: Specifies whether or not the transcoder should pop up a dialog box for selecting the page format. -
KEY_SHOW_PRINTER_DIALOG
The showPrinterDialog key.Key: KEY_SHOW_PAGE_DIALOG Value: Boolean Default: false Required: No Description: Specifies whether or not the transcoder should pop up a dialog box for selecting the printer. If the dialog box is not shown, the transcoder will use the default printer. -
KEY_PAGE_WIDTH
The pageWidth key.Key: KEY_PAGE_WIDTH Value: Length Default: None Required: No Description: The width of the print page -
KEY_PAGE_HEIGHT
The pageHeight key.Key: KEY_PAGE_HEIGHT Value: Length Default: none Required: No Description: The height of the print page -
KEY_MARGIN_TOP
The marginTop key.Key: KEY_MARGIN_TOP Value: Length Default: None Required: No Description: The print page top margin -
KEY_MARGIN_RIGHT
The marginRight key.Key: KEY_MARGIN_RIGHT Value: Length Default: None Required: No Description: The print page right margin -
KEY_MARGIN_BOTTOM
The marginBottom key.Key: KEY_MARGIN_BOTTOM Value: Length Default: None Required: No Description: The print page bottom margin -
KEY_MARGIN_LEFT
The marginLeft key.Key: KEY_MARGIN_LEFT Value: Length Default: None Required: No Description: The print page left margin -
KEY_PAGE_ORIENTATION
The pageOrientation key.Key: KEY_PAGE_ORIENTATION Value: String Default: VALUE_PAGE_ORIENTATION_PORTRAIT Required: No Description: The print page's orientation -
KEY_SCALE_TO_PAGE
The scaleToPage key.Key: KEY_SCALE_TO_PAGE Value: Boolean Default: true Required: No Description: Specifies whether or not the SVG images are scaled to fit into the printed page -
USAGE
- See Also:
-
-
Constructor Details
-
PrintTranscoder
public PrintTranscoder()Constructs a new transcoder that prints images.
-
-
Method Details
-
transcode
Description copied from class:XMLAbstractTranscoder
Transcodes the specified XML input in the specified output. AllTranscoderException
exceptions not catched previously are tagged as fatal errors (ie. call thefatalError
method of theErrorHandler
).- Specified by:
transcode
in interfaceTranscoder
- Overrides:
transcode
in classSVGAbstractTranscoder
- Parameters:
in
- the XML input to transcodeout
- the ouput where to transcode
-
transcode
protected void transcode(Document document, String uri, TranscoderOutput output) throws TranscoderException Transcodes the specified Document as an image in the specified output.- Overrides:
transcode
in classSVGAbstractTranscoder
- Parameters:
document
- the document to transcodeuri
- the uri of the document or null if anyoutput
- the ouput where to transcode- Throws:
TranscoderException
- if an error occured while transcoding
-
print
Convenience method- Throws:
PrinterException
-
print
Printable implementation -
setImageSize
protected void setImageSize(float docWidth, float docHeight) Sets document size according to the hints. Global variables width and height are modified.- Overrides:
setImageSize
in classSVGAbstractTranscoder
- Parameters:
docWidth
- Width of the document.docHeight
- Height of the document.
-
drawError
Prints an error on the output page -
main
- Throws:
Exception
-
setTranscoderFloatHint
public static void setTranscoderFloatHint(Transcoder transcoder, String property, TranscodingHints.Key key) -
setTranscoderRectangleHint
public static void setTranscoderRectangleHint(Transcoder transcoder, String property, TranscodingHints.Key key) -
setTranscoderBooleanHint
public static void setTranscoderBooleanHint(Transcoder transcoder, String property, TranscodingHints.Key key) -
setTranscoderStringHint
public static void setTranscoderStringHint(Transcoder transcoder, String property, TranscodingHints.Key key) -
handleValueError
-