Date: 2005-02-22T11:07:06
   Editor: 81.221.184.65
   Wiki: XML Graphics - FOP Wiki
   Page: FopAndJava2D
   URL: http://wiki.apache.org/xmlgraphics-fop/FopAndJava2D

   Documenting the Java2D proposal

New Page:

= Apache FOP and the Java2D API =

This page describes FOP's design around the Java2D API.

== Use cases ==

=== AWTRenderer + viewer ===

The -awt command line switch renders the pages generated by the layout engine 
to a Swing window. This Swing window serves as default viewer for the -awt 
switch and as an example of how to embed the AWTRenderer into a AWT/Swing 
application.

=== PrintRenderer ===

The -print command line switch renders the pages generated by the layout engine 
directly to a printer. The PrintRenderer can also be used embedded in an 
application to print XSL-FO documents (either through the older AWT PrintJob or 
through the newer JPS (Java Printing System). The PrintRenderer provides a 
Printable implementation for that purpose.

=== Bitmap production ===

The output from the layout engine is converted to bitmap images as in Oleg 
Tkachenko's TIFFRenderer.

=== PDF, PS etc. through Java2D ===

The above PrintRenderer can also be used to create PDFs or PostScript files by 
printing through JPS. The Graphics2D subclasses PDFDocumentGraphics2D and 
PSDocumentGraphics2D can indirectly be used for that purpose by writing a JPS 
StreamPrintService.

''(BTW this is the approach Peter West intends to take with his Defoe)''

== Package structure ==

 * '''org.apache.fop.render.java2d''': The basic renderer that renders the area 
tree to a Graphics2D interface.

 * '''org.apache.fop.render.awt''': Home of the AWTRenderer. Extends the 
Java2DRenderer to provide easy embeddability into AWT/Swing applications.

 * '''org.apache.fop.render.awt.viewer''': Example/Default viewer window that 
uses the AWTRenderer to display the rendered pages. Also used by the -awt 
command line switch.

 * '''org.apache.fop.render.print''': PrintRenderer extends the Java2DRenderer 
to provide printing support (Printable interface, from/to-parameters etc.). 
Integration with the older AWT PrintJob and the newer JPS.

 * '''org.apache.fop.render.bitmap''': BitmapRenderer (or TIFFRenderer) that 
generates multi-page bitmap images by subclassing Java2DRenderer.

That means that the java2d package provides the (abstract) technical foundation 
and the other three packages provide the concrete output paths.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to