From fc371af567bb2158f7a251f722bf01dfcc10ed0f Mon Sep 17 00:00:00 2001
From: Keiron Liddle
The compilation uses Ant,
a replacement of make (you can find more information about Ant at
-
A help screen is shown by calling "build usage".
diff --git a/docs/xml-docs/fop/embedding.xml b/docs/xml-docs/fop/embedding.xml index 8854461eb..745bc2a40 100644 --- a/docs/xml-docs/fop/embedding.xml +++ b/docs/xml-docs/fop/embedding.xml @@ -1,15 +1,14 @@ -Instantiate org.apache.fop.apps.Driver. Once this class is instantiated, methods are called to set the - Renderer to use, the (possibly multiple) ElementMapping(s) to - use and the OutputStream to use to output the results of the + Renderer to use + and the OutputStream to use to output the results of the rendering (where applicable). In the case of the Renderer and ElementMapping(s), the Driver may be supplied either with the object itself, or the name of the class, in which case Driver will @@ -30,10 +29,10 @@ ]]> -
Once the Driver is set up, the buildFOTree method +
Once the Driver is set up, the render method is called. Depending on whether DOM or SAX is being used, the - invocation of the method is either buildFOTree(Document) or - buildFOTree(Parser, InputSource) respectively. + invocation of the method is either render(Document) or + render(Parser, InputSource) respectively.
A third possibility may be used to build the FO Tree, namely calling getContentHandler() and firing the SAX events yourself. @@ -45,10 +44,9 @@
You can also specify an xml and xsl file for the input.
@@ -58,10 +56,8 @@ driver.setRenderer(Driver.RENDER_PDF); InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile); XMLReader parser = inputHandler.getParser(); - driver.buildFOTree(parser, inputHandler); - driver.format(); driver.setOutputStream(new FileOutputStream(outFile)); - driver.render(); + driver.render(parser, inputHandler.getInputSource()); ]]>Have a look at the classes CommandLineStarter or FopServlet for complete examples.
Sometimes it is desirable to have extensions to xsl:fo in order to support some feature of the output format which isn't covered by the xsl:fo specification. - To use the Fop extensions, you need to add a namespace entry for +
++These extension are available by default. They are automatically loaded +and you only need to provide the correct namespace for your embedded +xml markup. +
+To use this standard Fop extension, you need to add a namespace entry for http://xml.apache.org/fop/extensions on the root element.
-You can provide outlines inside the root object (but outside any page-sequences or + +
You can provide outlines inside the root object (but outside + any page-sequences or other formatting objects). Here's an example of an outline entry:
+To add your own extension you need to do the following things. +
++Write code that implements your extension functionality. +The easiest place to start is by looking at the code in org.apache.fop.extension. +
++Create a jar file with your classes, it must also include the following file "/META-INF/services/org.apache.fop.fo.ElementMapping". In this file you need to put the fully qualified classname of your element mappings class. This class must implement the "org.apache.fop.fo.ElementMapping" interface. +
++Create your fo file with the extra xml data embedded in the file with the correct name space. The examples for svg and pdfoutline.fo show how this can be done. +
++Put your jar file in the classpath and then run fop over the fo file. +
+The Fop faq has an own site. Please look here:
+
+ Here we have some answers to common questions about FOP. This only covers
+ general information about getting started with FOP and pointers to more
+ information.
+
+ For up to date information or more details please visit the Fop FAQ site.
+ The site uses Jyve to provide an interactive FAQ:
+ FOP is a print formatter for XSL formatting objects.
+
+ It can be used to render an XML file containing XSL formatting objects
+ into a page layout. The main target is PDF but other rendering targets
+ are supported, such as AWT, PCL, text and direct printing.
+
+ FOP is distributed with
+
+
+
+
+
+ There will be a Java Webstart demo sometime in the future.
+
+
+
Testing is an important part of getting FOP to operate correctly and conform to the
necessary standards.
diff --git a/docs/xml-docs/fop/todo.xml b/docs/xml-docs/fop/todo.xml
new file mode 100644
index 000000000..777ed57d7
--- /dev/null
+++ b/docs/xml-docs/fop/todo.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+Core Features - these are the areas that are important to getting fop
+to be useable for general use.
+
+Processing improvements - these are mainly things that can be improved
+in the way fop works, eg. resources usage, pdf output etc.
+
+Enhancements - these are added functionality that might be useful, no
+comment is made about the suitability of these suggestions.
+
+This is the crucial part to getting FOP to make it to the next step.
+
+a demo using Java Webstart that runs the awt viewer and supports
+linking from an index
+
+Need to improve the website to better demonstrate what fop is and
+can do. Examples, screenshots, pdf documents.
+
+Currently all properties are in the xml file. We need to handle all default
+values properly (including ones that change depending on the element) and
+all possible values.
+
+This is support for the functions in property values that evaluate some
+expression.
+Better support for resolution including support for "inherit" and values
+with lists.
+
+Check the validity of children for a particular element to ensure
+there are no invalid children. Should help process the layout better.
+
+Support for proper logging with logKit.
+
+Needs to be a bit more solid and allow for direct insertion of images
+(jpeg) into the pdf.
+
+Support for avalon. Better multithread handling.
+
+Support for streaming and linearized pdf to help with different
+deployement of pdf documents.
+
+Use proper i18n handling for awt viewer.
+
+put all common rendering processes into an abstract class that has
+no dependancies on any specific renderers.
+
+support the a link rendering for the svg output.
+
+be able to specify a url as the input fo (or xml, xsl) documents.
+
+support (better) the direct rendering of text into pdf graphics
+and other similair outputs
+
+Create an SVGRenderer that will render all pages onto a single
+svg document suitable for slide show presentations (with batik)
+suggested by Vincent Hardy.
+
+support for different encoding on different types of streams
+in pdf document.
+
+currently patterns and gradients are not generated properly
+