|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.fop.render.ps.PSRenderer
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 I did everything right). 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.).
TODO: Character size/spacing, SVG Transcoder for Batik, configuration, move
to PrintRenderer, maybe improve filters (I'm not very proud of them), add a
RunLengthEncode filter (useful for Level 2 Postscript), Improve
DocumentProcessColors stuff (probably needs to be configurable, then maybe
add a color to grayscale conversion for bitmaps to make output smaller (See
PCLRenderer), font embedding, support different character encodings, try to
implement image transparency, positioning of images is wrong etc.
Modified by Mark Lillywhite mark-fop@inomial.com, to use the new Renderer interface. This PostScript renderer appears to be the most efficient at producing output.
Inner Class Summary | |
protected class |
PSRenderer.MUserAgent
|
Field Summary | |
protected java.util.Hashtable |
options
|
protected PSStream |
out
the stream used to output the PostScript |
protected java.lang.String |
producer
the application producing the PostScript |
Constructor Summary | |
PSRenderer()
|
Method Summary | |
protected void |
comment(java.lang.String comment)
write out a comment |
org.apache.batik.gvt.GraphicsNodeRenderContext |
getRenderContext()
|
protected void |
movetoCurrPosition()
|
void |
render(Page page,
java.io.OutputStream outputStream)
render the given area tree to the given stream |
void |
renderAreaContainer(AreaContainer area)
render an area container to PostScript |
void |
renderBitmap(FopImage img,
int x,
int y,
int w,
int h)
|
void |
renderBlockArea(BlockArea area)
render a block area to PostScript |
void |
renderBodyAreaContainer(BodyAreaContainer area)
render a body area container to PostScript |
void |
renderDisplaySpace(DisplaySpace space)
render a display space to PostScript |
void |
renderForeignObjectArea(ForeignObjectArea area)
render a foreign object area |
void |
renderImageArea(ImageArea area)
render an image area to PostScript |
void |
renderInlineSpace(InlineSpace space)
render an inline space to PostScript |
void |
renderLeaderArea(LeaderArea area)
render a leader area to PostScript |
void |
renderLineArea(LineArea area)
render a line area to PostScript |
void |
renderPage(Page page)
render a page to PostScript |
void |
renderSpanArea(SpanArea area)
render a span area to PostScript |
void |
renderSVGArea(SVGArea area)
render an SVG area to PostScript |
void |
renderWordArea(WordArea area)
render an inline area to PostScript |
void |
setOptions(java.util.Hashtable options)
set up renderer options |
void |
setProducer(java.lang.String producer)
set the document's producer |
void |
setupFontInfo(FontInfo fontInfo)
set up the font info |
void |
startRenderer(java.io.OutputStream outputStream)
Default start renderer method. |
void |
stopRenderer(java.io.OutputStream outputStream)
Default stop renderer method. |
void |
useFont(java.lang.String name,
int size)
|
protected void |
write(java.lang.String cmd)
write out a command |
protected void |
writeFontDict(FontInfo fontInfo)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.lang.String producer
protected PSStream out
protected java.util.Hashtable options
Constructor Detail |
public PSRenderer()
Method Detail |
public void setProducer(java.lang.String producer)
setProducer
in interface Renderer
producer
- string indicating application producing the PostScriptpublic void setOptions(java.util.Hashtable options)
setOptions
in interface Renderer
protected void write(java.lang.String cmd)
protected void comment(java.lang.String comment)
protected void writeFontDict(FontInfo fontInfo)
protected void movetoCurrPosition()
public void setupFontInfo(FontInfo fontInfo)
setupFontInfo
in interface Renderer
fontInfo
- the font info object to set uppublic void renderAreaContainer(AreaContainer area)
renderAreaContainer
in interface Renderer
area
- the area container to renderpublic void renderBodyAreaContainer(BodyAreaContainer area)
renderBodyAreaContainer
in interface Renderer
area
- the body area container to renderpublic void renderSpanArea(SpanArea area)
renderSpanArea
in interface Renderer
area
- the span area to renderpublic void renderBlockArea(BlockArea area)
renderBlockArea
in interface Renderer
area
- the block area to renderpublic void renderDisplaySpace(DisplaySpace space)
renderDisplaySpace
in interface Renderer
space
- the space to renderpublic void renderForeignObjectArea(ForeignObjectArea area)
renderForeignObjectArea
in interface Renderer
public void renderSVGArea(SVGArea area)
renderSVGArea
in interface Renderer
area
- the area to renderpublic org.apache.batik.gvt.GraphicsNodeRenderContext getRenderContext()
public void renderBitmap(FopImage img, int x, int y, int w, int h)
public void renderImageArea(ImageArea area)
renderImageArea
in interface Renderer
area
- the area to renderpublic void renderWordArea(WordArea area)
renderWordArea
in interface Renderer
area
- the area to renderpublic void useFont(java.lang.String name, int size)
public void renderInlineSpace(InlineSpace space)
renderInlineSpace
in interface Renderer
space
- the space to renderpublic void renderLineArea(LineArea area)
renderLineArea
in interface Renderer
area
- the area to renderpublic void renderPage(Page page)
renderPage
in interface Renderer
page
- the page to renderpublic void renderLeaderArea(LeaderArea area)
renderLeaderArea
in interface Renderer
area
- the area to renderpublic void startRenderer(java.io.OutputStream outputStream) throws java.io.IOException
startRenderer
in interface Renderer
public void stopRenderer(java.io.OutputStream outputStream) throws java.io.IOException
stopRenderer
in interface Renderer
public void render(Page page, java.io.OutputStream outputStream)
Renderer
render
in interface Renderer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |