org.apache.fop.render.ps

Class PSRenderer

Implemented Interfaces:
Constants, ImageAdapter, PSSupportedFlavors, Renderer

public class PSRenderer
extends AbstractPathOrientedRenderer
implements ImageAdapter, PSSupportedFlavors

Renderer that renders to PostScript.
This class currently generates PostScript Level 2 code. The only exception is the FlateEncode filter which is a Level 3 feature. The filters in use are hardcoded at the moment.
This class follows the Document Structuring Conventions (DSC) version 3.0. If anyone modifies this renderer please make sure to also follow the DSC to make it simpler to programmatically modify the generated Postscript files (ex. extract pages etc.).
This renderer inserts FOP-specific comments into the PostScript stream which may help certain users to do certain types of post-processing of the output. These comments all start with "%FOP".
Version:
$Id: PSRenderer.java 615906 2008-01-28 15:04:39Z jeremias $
Author:
Apache FOP Development Team

Field Summary

static String
MIME_TYPE
The MIME type for PostScript
protected PSGenerator
gen
The PostScript generator used to output the PostScript

Fields inherited from class org.apache.fop.render.PrintRenderer

fontInfo, fontList, fontResolver

Fields inherited from class org.apache.fop.render.AbstractRenderer

containingBPPosition, containingIPPosition, currentBPPosition, currentIPPosition, currentPageViewport, log, userAgent

Fields inherited from interface org.apache.fop.fo.Constants

COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, ENUM_COUNT, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LOWERCASE, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NONE, EN_NON_UNIFORM, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALLER, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USECONTENT, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_VISIBLE, EN_WIDER, EN_WRAP, EN_X_DISTRIBUTE, EN_X_FILL, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_ROOT, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PROPERTY_COUNT, PROPERTY_MASK, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_ENDS_ROW, PR_END_INDENT, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_NAME, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINEFEED_TREATMENT, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAXIMUM_REPEATS, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MEDIA_USAGE, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_HEIGHT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REFERENCE_ORIENTATION, PR_REF_ID, PR_REGION_NAME, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_STARTING_STATE, PR_STARTS_ROW, PR_START_INDENT, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_XML_LANG, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_Z_INDEX

Fields inherited from interface org.apache.fop.render.ps.PSSupportedFlavors

LEVEL_2_FLAVORS_FORM, LEVEL_2_FLAVORS_INLINE, LEVEL_3_FLAVORS_FORM, LEVEL_3_FLAVORS_INLINE

Fields inherited from interface org.apache.fop.render.Renderer

ROLE

Method Summary

protected void
beginTextObject()
Indicates the beginning of a text object.
protected List
breakOutOfStateStack()
protected void
clip()
protected void
clipRect(float x, float y, float width, float height)
protected void
closePath()
protected void
comment(String comment)
Write out a comment
protected void
concatMatrix(double a, double b, double c, double d, double e, double f)
Concats the transformation matrix.
protected void
concatMatrix(double[] matrix)
Concats the transformations matrix.
protected void
concatenateTransformationMatrix(AffineTransform at)
protected RendererContext
createRendererContext(int x, int y, int width, int height, Map foreignAttributes)
protected void
drawBackAndBorders(Area area, float startx, float starty, float width, float height)
Area, float, float, float, float)
protected void
drawBorderLine(float x1, float y1, float x2, float y2, boolean horz, boolean startOrBefore, int style, Color col)
protected void
drawImage(String uri, Rectangle2D pos, Map foreignAttributes)
protected void
endTextObject()
Indicates the end of a text object.
protected void
endVParea()
protected void
fillRect(float x, float y, float width, float height)
protected PSResource
getFormForImage(String uri)
Returns a PSResource instance representing a image as a PostScript form.
Graphics2DAdapter
getGraphics2DAdapter()
ImageAdapter
getImageAdapter()
int
getLanguageLevel()
Return the PostScript language level that the renderer produces.
String
getMimeType()
protected PSResource
getPSResourceForFontKey(String key)
Returns the PSResource for the given font key.
protected void
handleIOTrouble(IOException ioe)
Central exception handler for I/O exceptions.
boolean
isAutoRotateLandscape()
protected boolean
isImageInlined(ImageInfo info)
Indicates whether an image should be inlined or added as a PostScript form.
protected boolean
isImageInlined(String uri)
Indicates whether an image should be inlined or added as a PostScript form.
boolean
isOptimizeResources()
protected void
lineTo(float x, float y)
protected void
moveTo(float x, float y)
protected void
movetoCurrPosition()
Make sure the cursor is in the right place.
void
paintImage(RenderedImage image, RendererContext context, int x, int y, int width, int height)
void
processOffDocumentItem(OffDocumentItem oDI)
protected void
renderBlockViewport(BlockViewport bv, List children)
void
renderImage(Image image, Rectangle2D pos)
protected void
renderInlineParent(InlineParent ip)
void
renderLeader(Leader area)
void
renderPage(PageViewport page)
protected void
renderRegionViewport(RegionViewport port)
protected void
renderSpace(SpaceArea space)
void
renderText(TextArea area)
protected void
renderWord(WordArea word)
void
restoreGraphicsState()
Restores the last graphics state of the rendering engine.
protected void
restoreStateStackAfterBreakOut(List breakOutList)
protected void
rmoveTo(float x, float y)
Moves the current point by (x, y) relative to the current position, omitting any connecting line segment.
void
saveGraphicsState()
Saves the graphics state of the rendering engine.
void
setAutoRotateLandscape(boolean value)
Sets the landscape mode for this renderer.
void
setDSCCompliant(boolean dscCompliant)
Sets whether or not Dublin Core Standard (dsc) compliance is enforced.
void
setLanguageLevel(int level)
Sets the PostScript language level that the renderer should produce.
void
setOptimizeResources(boolean value)
Sets the resource optimization mode.
void
setSafeSetPageDevice(boolean safeSetPageDevice)
Sets whether or not the safe set page device macro should be used (as opposed to directly invoking setpagedevice) when setting the postscript page device.
void
setUserAgent(FOUserAgent agent)
void
startRenderer(OutputStream outputStream)
protected void
startVParea(CTM ctm, Rectangle2D clippingRect)
void
stopRenderer()
protected void
updateColor(Color col, boolean fill)
protected void
useFont(String key, int size)
Changes the currently used font.
protected void
writeln(String cmd)
Write out a command

Methods inherited from class org.apache.fop.render.AbstractPathOrientedRenderer

beginTextObject, breakOutOfStateStack, clip, clipRect, closePath, concatenateTransformationMatrix, drawBackAndBorders, drawBorderLine, drawBorders, drawImage, drawImage, endTextObject, fillRect, handleBlockTraits, handleRegionTraits, lineTo, moveTo, renderBlockViewport, renderFlow, renderForeignObject, renderInlineAreaBackAndBorders, renderReferenceArea, renderTextDecoration, renderViewport, restoreGraphicsState, restoreStateStackAfterBreakOut, saveGraphicsState, updateColor

Methods inherited from class org.apache.fop.render.PrintRenderer

addFontList, createRendererContext, getFontFromArea, getFontResolver, getInternalFontNameForArea, lightenColor, renderDocument, setFontList, setupFontInfo

Methods inherited from class org.apache.fop.render.AbstractRenderer

convertTitleToString, endVParea, getCurrentPageViewport, getGraphics2DAdapter, getImageAdapter, getMimeType, getUserAgent, handleBlockTraits, handleRegionTraits, mptToPt, preparePage, processOffDocumentItem, ptToMpt, renderBeforeFloat, renderBlock, renderBlockViewport, renderBlocks, renderBodyRegion, renderCharacter, renderContainer, renderFlow, renderFootnote, renderForeignObject, renderImage, renderInlineArea, renderInlineAreaBackAndBorders, renderInlineBlockParent, renderInlineParent, renderInlineSpace, renderLeader, renderLineArea, renderMainReference, renderPage, renderPageAreas, renderReferenceArea, renderRegion, renderRegionViewport, renderSpace, renderText, renderViewport, renderWord, renderXML, setUserAgent, setupFontInfo, startPageSequence, startPageSequence, startRenderer, startVParea, stopRenderer, supportsOutOfOrder

Field Details

MIME_TYPE

public static final String MIME_TYPE
The MIME type for PostScript

gen

protected PSGenerator gen
The PostScript generator used to output the PostScript

Method Details

beginTextObject

protected void beginTextObject()
Indicates the beginning of a text object.
Overrides:
beginTextObject in interface AbstractPathOrientedRenderer

breakOutOfStateStack

protected List breakOutOfStateStack()
Overrides:
breakOutOfStateStack in interface AbstractPathOrientedRenderer

clip

protected void clip()
Overrides:
clip in interface AbstractPathOrientedRenderer

clipRect

protected void clipRect(float x,
                        float y,
                        float width,
                        float height)
Overrides:
clipRect in interface AbstractPathOrientedRenderer

closePath

protected void closePath()
Overrides:
closePath in interface AbstractPathOrientedRenderer

comment

protected void comment(String comment)
Write out a comment
Parameters:
comment - Comment to write

concatMatrix

protected void concatMatrix(double a,
                            double b,
                            double c,
                            double d,
                            double e,
                            double f)
Concats the transformation matrix.
Parameters:
a - A part
b - B part
c - C part
d - D part
e - E part
f - F part

concatMatrix

protected void concatMatrix(double[] matrix)
Concats the transformations matrix.
Parameters:
matrix - Matrix to use

concatenateTransformationMatrix

protected void concatenateTransformationMatrix(AffineTransform at)
Overrides:
concatenateTransformationMatrix in interface AbstractPathOrientedRenderer

createRendererContext

protected RendererContext createRendererContext(int x,
                                                int y,
                                                int width,
                                                int height,
                                                Map foreignAttributes)
Overrides:
createRendererContext in interface PrintRenderer

drawBackAndBorders

protected void drawBackAndBorders(Area area,
                                  float startx,
                                  float starty,
                                  float width,
                                  float height)
Area, float, float, float, float)
Overrides:
drawBackAndBorders in interface AbstractPathOrientedRenderer

drawBorderLine

protected void drawBorderLine(float x1,
                              float y1,
                              float x2,
                              float y2,
                              boolean horz,
                              boolean startOrBefore,
                              int style,
                              Color col)
Overrides:
drawBorderLine in interface AbstractPathOrientedRenderer

drawImage

protected void drawImage(String uri,
                         Rectangle2D pos,
                         Map foreignAttributes)
Overrides:
drawImage in interface AbstractPathOrientedRenderer

endTextObject

protected void endTextObject()
Indicates the end of a text object.
Overrides:
endTextObject in interface AbstractPathOrientedRenderer

endVParea

protected void endVParea()
Overrides:
endVParea in interface AbstractRenderer

fillRect

protected void fillRect(float x,
                        float y,
                        float width,
                        float height)
Overrides:
fillRect in interface AbstractPathOrientedRenderer

getFormForImage

protected PSResource getFormForImage(String uri)
Returns a PSResource instance representing a image as a PostScript form.
Parameters:
uri - the image URI
Returns:
a PSResource instance

getGraphics2DAdapter

public Graphics2DAdapter getGraphics2DAdapter()
Specified by:
getGraphics2DAdapter in interface Renderer
Overrides:
getGraphics2DAdapter in interface AbstractRenderer

getImageAdapter

public ImageAdapter getImageAdapter()
Specified by:
getImageAdapter in interface Renderer
Overrides:
getImageAdapter in interface AbstractRenderer

getLanguageLevel

public int getLanguageLevel()
Return the PostScript language level that the renderer produces.
Returns:
the language level

getMimeType

public String getMimeType()
Specified by:
getMimeType in interface Renderer
Overrides:
getMimeType in interface AbstractRenderer

getPSResourceForFontKey

protected PSResource getPSResourceForFontKey(String key)
Returns the PSResource for the given font key.
Parameters:
key - the font key ("F*")
Returns:
the matching PSResource

handleIOTrouble

protected void handleIOTrouble(IOException ioe)
Central exception handler for I/O exceptions.
Parameters:
ioe - IOException to handle

isAutoRotateLandscape

public boolean isAutoRotateLandscape()
Returns:
true if the renderer is configured to rotate landscape pages

isImageInlined

protected boolean isImageInlined(ImageInfo info)
Indicates whether an image should be inlined or added as a PostScript form.
Parameters:
info - the ImageInfo object of the image
Returns:
true if the image should be inlined rather than added as a form

isImageInlined

protected boolean isImageInlined(String uri)
Indicates whether an image should be inlined or added as a PostScript form.
Parameters:
uri - the URI of the image
Returns:
true if the image should be inlined rather than added as a form

isOptimizeResources

public boolean isOptimizeResources()
Returns:
true if the renderer does two passes to optimize PostScript resources

lineTo

protected void lineTo(float x,
                      float y)
Overrides:
lineTo in interface AbstractPathOrientedRenderer

moveTo

protected void moveTo(float x,
                      float y)
Overrides:
moveTo in interface AbstractPathOrientedRenderer

movetoCurrPosition

protected void movetoCurrPosition()
Make sure the cursor is in the right place.

paintImage

public void paintImage(RenderedImage image,
                       RendererContext context,
                       int x,
                       int y,
                       int width,
                       int height)
            throws IOException
Specified by:
paintImage in interface ImageAdapter

processOffDocumentItem

public void processOffDocumentItem(OffDocumentItem oDI)
Specified by:
processOffDocumentItem in interface Renderer
Overrides:
processOffDocumentItem in interface AbstractRenderer

renderBlockViewport

protected void renderBlockViewport(BlockViewport bv,
                                   List children)
Overrides:
renderBlockViewport in interface AbstractPathOrientedRenderer

renderImage

public void renderImage(Image image,
                        Rectangle2D pos)
Overrides:
renderImage in interface AbstractRenderer

renderInlineParent

protected void renderInlineParent(InlineParent ip)
Overrides:
renderInlineParent in interface AbstractRenderer

renderLeader

public void renderLeader(Leader area)
Overrides:
renderLeader in interface AbstractRenderer

renderPage

public void renderPage(PageViewport page)
            throws IOException,
                   FOPException
Specified by:
renderPage in interface Renderer
Overrides:
renderPage in interface AbstractRenderer

renderRegionViewport

protected void renderRegionViewport(RegionViewport port)
Overrides:
renderRegionViewport in interface AbstractRenderer

renderSpace

protected void renderSpace(SpaceArea space)
Overrides:
renderSpace in interface AbstractRenderer

renderText

public void renderText(TextArea area)
Overrides:
renderText in interface AbstractRenderer

renderWord

protected void renderWord(WordArea word)
Overrides:
renderWord in interface AbstractRenderer

restoreGraphicsState

public void restoreGraphicsState()
Restores the last graphics state of the rendering engine.
Overrides:
restoreGraphicsState in interface AbstractPathOrientedRenderer

restoreStateStackAfterBreakOut

protected void restoreStateStackAfterBreakOut(List breakOutList)
Overrides:
restoreStateStackAfterBreakOut in interface AbstractPathOrientedRenderer

rmoveTo

protected void rmoveTo(float x,
                       float y)
Moves the current point by (x, y) relative to the current position, omitting any connecting line segment.
Parameters:
x - x coordinate
y - y coordinate

saveGraphicsState

public void saveGraphicsState()
Saves the graphics state of the rendering engine.
Overrides:
saveGraphicsState in interface AbstractPathOrientedRenderer

setAutoRotateLandscape

public void setAutoRotateLandscape(boolean value)
Sets the landscape mode for this renderer.
Parameters:
value - false will normally generate a "pseudo-portrait" page, true will rotate a "wider-than-long" page by 90 degrees.

setDSCCompliant

public void setDSCCompliant(boolean dscCompliant)
Sets whether or not Dublin Core Standard (dsc) compliance is enforced. It can cause problems (unwanted postscript subsystem initgraphics/erasepage calls) on some printers when the pagedevice is set. If this causes problems on a particular implementation then use this setting with a 'false' value to try and minimize the number of setpagedevice calls in the postscript document output. Set this value to false if you experience unwanted blank pages in your postscript output.
Parameters:
dscCompliant - boolean value (default is true)

setLanguageLevel

public void setLanguageLevel(int level)
Sets the PostScript language level that the renderer should produce.
Parameters:
level - the language level (currently allowed: 2 or 3)

setOptimizeResources

public void setOptimizeResources(boolean value)
Sets the resource optimization mode. If set to true, the renderer does two passes to only embed the necessary resources in the PostScript file. This is slower, but produces smaller files.
Parameters:
value - true to enable the resource optimization

setSafeSetPageDevice

public void setSafeSetPageDevice(boolean safeSetPageDevice)
Sets whether or not the safe set page device macro should be used (as opposed to directly invoking setpagedevice) when setting the postscript page device. This option is a useful option when you want to guard against the possibility of invalid/unsupported postscript key/values being placed in the page device.
Parameters:
safeSetPageDevice - setting to false and the renderer will make a standard "setpagedevice" call, setting to true will make a safe set page device macro call (default is false).

setUserAgent

public void setUserAgent(FOUserAgent agent)
Specified by:
setUserAgent in interface Renderer
Overrides:
setUserAgent in interface AbstractRenderer

startRenderer

public void startRenderer(OutputStream outputStream)
            throws IOException
Specified by:
startRenderer in interface Renderer
Overrides:
startRenderer in interface AbstractRenderer

startVParea

protected void startVParea(CTM ctm,
                           Rectangle2D clippingRect)
Overrides:
startVParea in interface AbstractRenderer

stopRenderer

public void stopRenderer()
            throws IOException
Specified by:
stopRenderer in interface Renderer
Overrides:
stopRenderer in interface AbstractRenderer

updateColor

protected void updateColor(Color col,
                           boolean fill)
Overrides:
updateColor in interface AbstractPathOrientedRenderer

useFont

protected void useFont(String key,
                       int size)
Changes the currently used font.
Parameters:
key - key of the font ("F*")
size - font size

writeln

protected void writeln(String cmd)
Write out a command
Parameters:
cmd - PostScript command

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.