FOP
Since 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>
Output Formats
The primary output format is PDF but other output formats are also supported:
name | outputFormat | description |
---|---|---|
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
The FOP component has no options.
The FOP endpoint is configured using URI syntax:
fop:outputType
with the following path and query parameters:
Path Parameters (1 parameters):
Name | Description | Default | Type |
---|---|---|---|
outputType |
Required The primary output format is PDF but other output formats are also supported. |
FopOutputType |
Query Parameters (3 parameters):
Name | Description | Default | Type |
---|---|---|---|
fopFactory (producer) |
Allows to use a custom configured or implementation of org.apache.fop.apps.FopFactory. |
FopFactory |
|
userConfigURL (producer) |
The location of a configuration file which can be loaded from classpath or file system. |
String |
|
synchronous (advanced) |
Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). |
false |
boolean |
Spring Boot Auto-Configuration
When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-fop-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
The component supports 2 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
camel.component.fop.enabled |
Enable fop component |
true |
Boolean |
camel.component.fop.resolve-property-placeholders |
Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. |
true |
Boolean |
The location of a configuration file with the following
structure.
From Camel 2.12 onwards the file is loaded from the classpath by
default. You can use file:
, or classpath:
as prefix to load the
resource from file or classpath. In previous releases the file is always
loaded from file system.
fopFactory
Allows to use a custom configured or implementation of
org.apache.fop.apps.FopFactory
.
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.allowPrint |
true |
Allows printing the PDF |
CamelFop.Encrypt.allowCopyContent |
true |
Allows copying content of the PDF |
CamelFop.Encrypt.allowEditContent |
true |
Allows editing content of the PDF |
CamelFop.Encrypt.allowEditAnnotations |
true |
Allows editing annotation of the PDF |
CamelFop.Render.producer |
Apache FOP |
Metadata 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 |