FOP
Only producer is supported
Компонент FOP позволяет преобразовывать сообщение в различные выходные форматы с помощью Apache FOP (opens in a new tab) .
Пользователям Maven необходимо добавить следующую зависимость для pom.xmlэтого компонента:
<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]
Usage
Output Formats
Основной формат вывода -- PDF, но поддерживаются и другие форматы вывода: (opens in a new tab)
-
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
Полный список допустимых форматов вывода можно найти в MimeConstants.javaисходном файле.
Configuring Options
Компоненты Camel настраиваются на двух отдельных уровнях:
-
уровень компонентов
-
уровень конечной точки
Configuring Component Options
На уровне компонентов задаются общие и общие конфигурации, которые затем наследуются конечными точками. Это самый высокий уровень конфигурации.
Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевого подключения и т. д.
У некоторых компонентов всего несколько параметров, а у других -- много. Поскольку компоненты обычно имеют предустановленные значения по умолчанию, которые широко используются, зачастую вам может потребоваться настроить лишь несколько параметров компонента, а то и вовсе ни одного.
Вы можете настроить компоненты, используя:
-
Компонент DSL (opens in a new tab) .
-
в файле конфигурации (
application.propertiesфайлы*.yaml, и т.д.). -
непосредственно в коде Java.
Configuring Endpoint Options
Настройка конечных точек обычно занимает больше времени, поскольку у них есть множество параметров. Эти параметры помогают вам настроить функции конечной точки. Параметры также классифицируются по тому, используется ли конечная точка как потребитель ( от ), как производитель ( от ) или и то, и другое.
Конечные точки чаще всего настраиваются непосредственно в URI конечной точки в виде параметров пути и запроса . Вы также можете использовать Endpoint DSL (opens in a new tab) и DataFormat DSL (opens in a new tab) в качестве типобезопасного способа настройки конечных точек и форматов данных в Java.
Хорошей практикой при настройке параметров является использование заполнителей свойств (opens in a new tab) .
Заполнители свойств обеспечивают несколько преимуществ:
-
Они помогают предотвратить использование жестко запрограммированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.
-
Они позволяют вынести конфигурацию за пределы кода.
-
Они помогают коду стать более гибким и пригодным для повторного использования.
В следующих двух разделах перечислены все параметры, сначала для компонента, а затем для конечной точки.
Component Options
The FOP component supports 2 options, which are listed below.
lazyStartProducer (producer)
-
Тип: Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
autowiredEnabled (advanced)
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: boolean
Endpoint Options
Конечная точка FOP настраивается с использованием синтаксиса URI:
fop:outputType
Со следующими параметрами пути и запроса :
Path Parameters (1 parameters)
outputType (producer)
-
Обязательно Основной формат вывода -- PDF, но поддерживаются и другие форматы вывода.
Значения перечисления:
-
pdf
-
ps
-
pcl
-
png
-
jpeg
-
svg
-
xml
-
mif
-
rtf
-
txt
-
-
По умолчанию:
-
Тип: FopOutputType
Query Parameters (3 parameters)
fopFactory (producer)
-
Позволяет использовать пользовательскую настройку или реализацию org.apache.fop.apps.FopFactory.
-
По умолчанию:
-
Тип: FopFactory
userConfigURL (producer)
-
Тип: Расположение файла конфигурации, который можно загрузить из classpath или файловой системы.
-
По умолчанию:
-
Тип: String
lazyStartProducer (producer (advanced))
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
Message Headers
Компонент FOP поддерживает 1 заголовок(и) сообщения, которые перечислены ниже:
CamelFop.Output.Format (producer)
Constant: CAMEL_FOP_OUTPUT_FORMAT (opens in a new tab)
-
Выходной формат..
-
По умолчанию:
-
Тип: String
Configuration file
Расположение файла конфигурации со следующей структурой (opens in a new tab) . По умолчанию файл загружается из classpath. Вы можете использовать префикс file:, или classpath:для загрузки ресурса из файла или classpath. В предыдущих версиях файл всегда загружался из файловой системы.
Message Operations
CamelFop.Output.Format
-
- Переопределяет формат вывода для этого сообщения.
CamelFop.Encrypt.userPassword
-
По умолчанию:
-
Тип: пароль пользователя PDF
CamelFop.Encrypt.ownerPassword
- Пароль владельца PDF-файла
CamelFop.Encrypt.allowPrint
-
По умолчанию:
true -
Позволяет распечатать PDF-файл
CamelFop.Encrypt.allowCopyContent
-
По умолчанию:
true -
Позволяет копировать содержимое PDF-файла
CamelFop.Encrypt.allowEditContent
-
По умолчанию:
true -
Позволяет редактировать содержимое PDF-файла
CamelFop.Encrypt.allowEditAnnotations
-
По умолчанию:
true -
Позволяет редактировать аннотации PDF-файла
CamelFop.Render.producer
-
По умолчанию: Apache FOP
-
Элемент метаданных для системы/программного обеспечения, создающего документ
CamelFop.Render.creator
-
- Элемент метаданных для пользователя, создавшего документ
CamelFop.Render.creationDate
- Дата создания
CamelFop.Render.author
- Автор содержания документа
CamelFop.Render.title
- Название документа
CamelFop.Render.subject
- Тема документа
CamelFop.Render.keywords
- Набор ключевых слов, применимых к этому документу
Example
Ниже приведен пример маршрута, который визуализирует PDF-файлы из XML-данных и шаблона XSLT и сохраняет PDF-файлы в целевой папке:
from("file:source/data/xml")
.to("xslt:xslt/template.xsl")
.to("fop:application/pdf")
.to("file:target/data");Spring Boot Auto-Configuration
При использовании fop с Spring Boot обязательно используйте следующую зависимость Maven для поддержки автоматической настройки:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-fop-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>Компонент поддерживает 3 опции, которые перечислены ниже.
camel.component.fop.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.fop.enabled
-
Включить ли автоматическую настройку компонента FOP. По умолчанию эта опция включена.
-
По умолчанию:
-
Тип: Boolean
camel.component.fop.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: Boolean