![](http://www.gnu-darwin.org/hexley-gd-sm.png)
|
![](resources/separator.gif)
![Understanding](graphics/ext-6-label-3.jpg)
![](resources/separator.gif)
![Design](graphics/index-label-3.jpg)
![Architecture](graphics/architecture-label-3.jpg)
![Properties](graphics/properties-label-3.jpg)
![FO Tree](graphics/fotree-label-3.jpg)
![Area Tree](graphics/areatree-label-3.jpg)
![](resources/separator.gif)
![Layout](graphics/layout-label-3.jpg)
![Break Possibility](graphics/breakpos-label-3.jpg)
![Renderers](graphics/renderers-label-3.jpg)
![User Agent](graphics/useragent-label-3.jpg)
![Optimisations](graphics/optimise-label-3.jpg)
![](resources/separator.gif)
![Embedding](graphics/embedding-label-1.jpg)
![Extending](graphics/extending-label-3.jpg)
![](resources/separator.gif)
![Status](graphics/status-label-3.jpg)
![](resources/separator.gif)
![ALT DESIGN](graphics/ext-44-label-3.jpg)
![](resources/separator.gif)
![](resources/close.gif)
|
This is the design for the external interface when FOP is to be embedded
inside another java application.
Common places where FOP is embedded is in a report production application
|
The user agent is responsible for supplying user or context
specific information. The list of user agent values can be found on the
User Agent page.
|
- logging level
- logging messages of various levels
- error handling
- Logging setup (LogKit, Log4J, JDK14Logging)
|
- base directory
- uri resolvers
- which implementation of a particular
- LayoutManager to use
|
- embedding fonts
- compression in pdf
- image embedding
for the PS renderer (eventually):
- PostScript Level
- PPD to use
- binary/ascii switch
|
Output from FOP:
- Generation statistics: Number of pages total, Number of pages of each
page-sequence, page-master used for each page (could be used to
control the paper bin to get paper from, important for me in
conjunction with PS Renderer).
|
The Driver handles the XML input.
The user agent information is through the FOUserAgent.
We could handle logging through the user agent.
Options could also be handled through the user agent, using mime type
selection for renderer options.
|
render to more than one renderer at once (maybe not from the command line).
For example you could generate a PDF for the archive
and the PS for the printer in one run. It would probably be faster than
converting the PDF to PostScript afterwards.
Several code pieces for resolving URLs and/or
file locations are scattered all over FOP and Batik. These should
be replaced with an URIResolver invocation to unify behaviour and
remove redundancies.
|
|
|
|