Wish list FOP supports multiple output formats by using a different renderer for each format. The renderers do not all have the same set of capabilities, sometimes because of the output format itself, sometimes because some renderers get more development attention than others. This can result in several differences, including actually using different fonts, and having different font metrics for the same font. The net effect is that the layout of a given FO document can be quite different between renderers that do not use the same font information.
|Published (Last):||7 October 2006|
|PDF File Size:||19.59 Mb|
|ePub File Size:||1.40 Mb|
|Price:||Free* [*Free Regsitration Required]|
Hope to see you there! The renderers do not all have the same set of capabilities, sometimes because of the output format itself, sometimes because some renderers get more development attention than others. This can result in several differences, including actually using different fonts, and having different font metrics for the same font. The net effect is that the layout of a given FO document can be quite different between renderers that do not use the same font information.
If FOP used the font metrics from its own font subsystem but still used Java2D for text painting in the Java2D-based renderers, this could probably be achieved. The clue is to use the intermediate format. Here are the necessary steps using the command-line : Produce an IF file: fop -fo myfile. Note that no PDF file is created in this step. Render to a PDF file: fop -atin myfile. However, you can also send output from the Postscript renderer directly to a Postscript device, or output from the PCL renderer directly to a PCL device.
It is also the most accurate with text and layout. This creates a PDF document that is streamed out as each page is rendered. This means that the internal page index information is stored near the end of the document. The PDF version supported is 1.
These fonts, or suitable substitute fonts with the same metrics, are guaranteed to be available in all PDF viewer applications. One workaround is to use Adobe Acrobat the full version, not the Reader to process the file manually or with scripting that it supports. Another popular post-processing tool is iText , which has tools for adding security features, document properties, watermarks, and many other features to PDF files.
Caveat: iText may swallow PDF bookmarks. However the principles for using iText for other PDF features are similar. AllowCopy ; document. For example, make region-before large enough to contain your image. Then include a block if necessary, use an absolutely positioned block-container containing the watermark image in the static-content for the region-before.
Note that the image will be drawn on top of the normal content. It provides good support for most text and layout. Images and SVG are not fully supported, yet. Setting it to "true" will automatically rotate landscape pages and will mark them as landscape.
The default value for the "language-level" setting is "3". The default value for the "optimize-resources" setting is "false". Setting it to "true" will produce the PostScript file in two steps. A temporary file will be written first which will then be processed to add only the fonts which were really used and images are added to the stream only once as PostScript forms. This will reduce file size but can potentially increase the memory needed in the interpreter to process.
The default value for the "safe-set-page-device" setting is "false". The default value for the "dsc-compliant" setting is "true".
Setting it to "false" will break DSC compliance by minimizing the number of setpagedevice calls in the postscript document output. This feature may be useful when unwanted blank pages are experienced in your postscript output. SVG support is far from being complete. No image transparency is available. Only Type 1 fonts are supported. Multibyte characters are not supported. PPD support is still missing. It should produce output as close to identical as possible to the printed output of the PDFRenderer within the limitations of the renderer, and output device.
PCL 5 is used for text, raster graphics and rectangular fill graphics. In general, things that should print to the left of the printable area are shifted to the right so that they start at the left edge of the printable area.
All fonts available to the Java2D subsystem are usable. The texts are painted as bitmap much like the Windows PCL drivers do. At the moment, only monochrome output is supported. PCL5c color extensions will only be implemented on demand. Color and grayscale images are converted to monochrome bitmaps 1-bit. Dithering only occurs if the JAI image library is available. Images are scaled up to the next resolution level supported by PCL 75, , , , , dpi.
For color and grayscale images an even higher PCL resolution is selected to give the dithering algorithm a chance to improve the bitmap quality. In this mode, no special borders dotted, dashed etc. If you want support for all border modes, set the value to "quality" as indicated above. This will cause the borders to be painted as bitmaps.
The default value for the "text-rendering" setting is "auto" which paints the base fonts using PCL fonts. Non-base fonts are painted as bitmaps through Java2D. If the mix of painting methods results in unwelcome output, you can set this to "bitmap" which causes all text to be rendered as bitmaps. The default value for the "disable-pjl" setting is "false". PJL commands can be disabled if you set this value to "true".
The actual value will be rounded up to the next supported PCL resolution. Currently, only and dpi are supported which should be enough for most use cases. Note that this setting directly affects the size of the output file and the print quality.
Not all PCL printers support the same paper trays. Usually, "1" is the default tray, "2" is the manual paper feed, "3" is the manual envelope feed, "4" is the "lower" tray and "7" is "auto-select". Consult the technical reference for your printer for all available values.
Comparing Apache FOP with iText
Apache(tm) FOP Output Formats
Subscribe to RSS