FOP Component

Available as of Camel 2.10

The FOP component allows you to render a message into different output formats using Apache FOP.

Maven users will need to add the following dependency to their pom.xml for this component:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-fop</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

URI format

fop://outputFormat?[options]

Output Formats

The primary output format is PDF but other output formats are also supported:

name outputFormat description
PDF application/pdf Portable Document Format
PS application/postscript Adobe Postscript
PCL application/x-pcl Printer Control Language
PNG image/png PNG images
JPEG image/jpeg JPEG images
SVG image/svg+xml Scalable Vector Graphics
XML application/X-fop-areatree Area tree representation
MIF application/mif FrameMaker's MIF
RTF application/rtf Rich Text Format
TXT text/plain Text

The complete list of valid output formats can be found here

Endpoint Options

name default value description
userConfigURLnoneThe location of a configuration file with the following structure

Message Operations

name default value description
CamelFop.Output.Format Overrides the output format for that message
CamelFop.Encrypt.userPassword PDF user password
CamelFop.Encrypt.ownerPassword PDF owner passoword
CamelFop.Encrypt.allowPrinttrue Allows printing the PDF
CamelFop.Encrypt.allowCopyContenttrue Allows copying content of the PDF
CamelFop.Encrypt.allowEditContenttrue Allows editing content of the PDF
CamelFop.Encrypt.allowEditAnnotationstrue Allows editing annotation of the PDF
CamelFop.Render.producerApache FOPMetadata element for the system/software that produces the document
CamelFop.Render.creator Metadata element for the user that created the document
CamelFop.Render.creationDate Creation Date
CamelFop.Render.author Author of the content of the document
CamelFop.Render.title Title of the document
CamelFop.Render.subject Subject of the document
CamelFop.Render.keywords Set of keywords applicable to this document

Example

Below is an example route that renders PDFs from xml data and xslt template and saves the PDF files in target folder:

from("file:source/data/xml")
    .to("xslt:xslt/template.xsl")
    .to("fop:application/pdf")
    .to("file:target/data");

For more information, see these resources...

See Also

© 2004-2011 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram