jfor (*) converts XML documents conforming to the XSL-FO specification to RTF format, the goal being to use the same XSL-FO documents (as often generated using XSLT transforms) to generate PDF (using FOP or similar) and RTF (using jfor) documents.
jfor is licensed under its own Apache-style license, found under http://www.jfor.org/jfor-license.html. Releases prior to V0.7.0 used the Mozilla Public License V1.1, but this was changed to make it possible to distribute jfor with projects of the Apache Software Foundation (like Cocoon).
Through an intermediate transformation to XSL-FO, jfor can be used to convert any raw or XML data to RTF format.
jfor comes without any warranty of any kind. Use at your own risk. No guts, no glory.
Although there are PDF-to-RTF converters, the RTF that they generate usually loses too much structure to be easily editable. jfor uses a simple mapping from XSL-FO to RTF without any layout computations, which means that the conversion is much faster than with FOP, for example (because jfor has much less to do - there's no magic here).
jfor attempts to preserve the structure of the document (a table is a table, a list is a list, etc.), which can cause some loss of presentation information (distances between elements, etc.).
During development, we usually test jfor with:
Both a command-line converter and an adapter for Cocoon 1.8 are provided.
For Cocoon 2 see http://www.jfor.org/jfor-cocoon-howto.html
jfor also includes a general-purpose RTF generation library (see package ch.codeconsult.jfor.rtflib.testdocs for usage examples).
More information about XSL-FO, XSL and XML can be found on
www.xml.com
and www.w3c.org, among others.
See also Dave Pawson's FO questions.
The persons listed below are the major contributors. In addition, several people have provided smaller fixes and ideas, which are acknowledged directly in the source code. Please let us know if you see something wrong or missing in this list.
Links | |
Bertrand Delacrétaz: project manager and lead developer |
Bertrand's homepage.
Bertrand's wishlist. |
Andreas Putz: major code contributions, including image handling. | www.skynamics.com |
Chris Scott: major code contributions that "make it look good". | |
Roberto Marra: many bug fixes in the converter and RTF library packages. | www.link-u.com |
Boris Poudérous: paragraph spacing and color attributes handling, page-number-citation, etc.. | Boris's whishlist |
Laurent Caprani: provided interesting insight and analysis of RTF constructs. | |
Gianugo Rabellino: Cocoon 2 serializer + build.xml changes for conditional compilation of Cocoon modules . |
If jfor has helped you in any way, you're most welcome to give something back to the project so that it can live on.
Large or small does not matter much, but giving back or not makes a lot of difference!
You can give something back by:
|
![]() |