JFO Features
RTF to XSL-FO processor
- Text formatting properties
- Size and fontname, including font name substitution and character transcoding (Font-Mapper)
- Styles: normal, bold, italic, underline
- Foreground, background and auto-colors
- Font-Stretching
- Sub- and Subscripting
- Paragraph formatting properties
- Idents: left, right and hanging (first line left)
- Alignments: left, right, center, justify
- Line-spacing
- Space before and after
- Paragraph border and backgrounds
- Keeps, orphans and widows
- Pagination
- Page settings: height, width, margins
- Page borders
- Page breaks
- Section breaks, incl. contnuous section breaks
- Multiple columns per page
- Headers and footers, incl. title and facing pages
- Footnotes
- Tables
- Border properties: width, color and style
- not all RTF styles are supported by XSL-FO
- Vertical and horizontal alignment
- Padding
- Background color and patterns
- Background patterns are converted to background images.
- Row and column spanning
- Fixed row height
- Nested tables
- Positioned tables
- Shapes
- Textboxes (RTF shape type 202)
- Pictureframe (RTF shape type 75)
- Rectangle (RTF shape type 1)
- Absolute and relative position
- Shape groups
- Shape borders
- Z-Index
- Images
- Inline images
- Image-frames
- Suporting all RTF image formats: JPG, PNG, EMF and WMF
- when inserting other formats they are converted to PNG or WMF by Word
- Image treatments: File, BASE64 encoded (instream), nested SVG
- When using BASE64 or SVG images are included directly in the XSL-FO output but not in an external file. Both methods are using the URL scheme "data" as defined in RFC 2397 for encoding.
- Image transcoding
- converting EMF/WMF into renderer friendly format
- Watermark / background image for document
- Fields and Data-Merge
- Handled fields: if, section, page, pageref, includepicture, docvariable, docproperty, data, hyperlink, title, author, comment
- Formatting patterns for dates and numbers
- Mail-merge with external data (fillin, mergefield)
- Loops for table rows and lists
- Conditioned data merging with if fields
- Bullets and Numberings
- Bullets with any character
- Auto numberings (arabic, roman and letters)
- Limitition: Older RTF control words of Word 6 and Word 95 for bullets and numberings are not handle
- XSL-FO output Compatibility
- Font substitution
- Character replacement (e.g. for symbols)
- Line height optimization
- XSL-FO compatibility modes for
- W3C (XSL-FO standard)
- FOP 0.20.5, 1.0, 1.1,
- XEP 4.4
- XSL-Formatter 3
- IBEX 3
- Compatibility RTF input
- Fix for Microsofts Word padding bug in table cells
- Strict handling of headers and footers can be disabled
- Other Features
- Language and hyphenation support
- Hidden text
- Bookmarks
- Internal and external links
- Limititions
- Limited support for tabulators (tabulators are not supported by the XSL-FO)
- Track changes are not handled
XSL-FO API
- Simple Java API for creating XSL-FO documents
- API is not based on a W3C DOM implementation like Xerces.
- Pretty formatted XML output
- SAX event output
- Includes the PDF/Postscript renderer FOP (Apache)
- Open source XSL-FO renderer supporting many output formats (e.g. PDF, Postscript, AWT, Printer)
- Supports various commercial XSL-FO renderers: XEP, XSL-Formatter, Ibex, Xinc
- Easy integration for further renderers
- Includes HTML renderer (uses a stylesheet from RenderX)
- Simple flow writer that speeds up generating documents with Java
Report engine
- Mail-merge with RTF templates
- Various data sources: XML, CSV, JDBC or Java-classes