[[pdf-component]]
= PDF Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-pdf/src/main/docs/pdf-component.adoc
:docTitle: PDF
:artifactId: camel-pdf
:description: Create, modify or extract content from PDF documents.
:since: 2.16
:supportLevel: Stable
:component-header: Only producer is supported

*Since Camel {since}*

*{component-header}*

The PDF components provides the ability to create, modify or extract
content from PDF documents. This component uses
https://pdfbox.apache.org/[Apache PDFBox] as underlying library to work
with PDF documents.

In order to use the PDF component, Maven users will need to add the
following dependency to their `pom.xml`:

*pom.xml*

[source,xml]
------------------------------------------------------------
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-pdf</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------

== URI format

The PDF component only supports producer endpoints.

[source,java]
-----------------------
pdf:operation[?options]
-----------------------

== Options

// component options: START
The PDF component supports 2 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
|===
// component options: END



// endpoint options: START
The PDF endpoint is configured using URI syntax:

----
pdf:operation
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *operation* | *Required* Operation type. The value can be one of: create, append, extractText |  | PdfOperation
|===


=== Query Parameters (11 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *font* (producer) | Font. The value can be one of: Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol, ZapfDingbats | Helvetica | String
| *fontSize* (producer) | Font size in pixels | 14 | float
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *marginBottom* (producer) | Margin bottom in pixels | 20 | int
| *marginLeft* (producer) | Margin left in pixels | 20 | int
| *marginRight* (producer) | Margin right in pixels | 40 | int
| *marginTop* (producer) | Margin top in pixels | 20 | int
| *pageSize* (producer) | Page size. The value can be one of: LETTER, LEGAL, A0, A1, A2, A3, A4, A5, A6 | A4 | String
| *textProcessingFactory* (producer) | Text processing to use. autoFormatting: Text is getting sliced by words, then max amount of words that fits in the line will be written into pdf document. With this strategy all words that doesn't fit in the line will be moved to the new line. lineTermination: Builds set of classes for line-termination writing strategy. Text getting sliced by line termination symbol and then it will be written regardless it fits in the line or not. The value can be one of: autoFormatting, lineTermination | lineTermination | TextProcessingFactory
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
|===
// endpoint options: END



== Headers
[width="100%",cols="10%,90%",options="header",]
|=======================================================================
|Header |Description

|`pdf-document` |*Mandatory* header for `append` operation and ignored in all other
operations. Expected type is
https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/PDDocument.html[PDDocument].
Stores PDF document which will be used for append operation.

|`protection-policy` |Expected type is
https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/encryption/ProtectionPolicy.html[ProtectionPolicy].
If specified then PDF document will be encrypted with it.

|`decryption-material` |Expected type is
https://pdfbox.apache.org/docs/2.0.13/javadocs/org/apache/pdfbox/pdmodel/encryption/DecryptionMaterial.html[DecryptionMaterial].
*Mandatory* header if PDF document is encrypted.
|=======================================================================


include::camel-spring-boot::page$pdf-starter.adoc[]
