PDFreactor Server Parameter Documentation
Java | .NET | JavaScript | Node.js | PHP | Python | Ruby | Web Service Client | SOAP Client
adminKey
This parameter specifies a key for privileged access to the service.
- Type
- String
adminKeyPath
Similar to adminKey, but specifies the path to a file containing the admin key.
If the path of this parameter indicates a directory, the contents of the file adminkey.txt are used,
if present within the directory.
- Type
- Path
apiKeys
This parameter specifies a comma separated list of strings that are used as API keys.
- Type
- List<String>
apiKeysPath
Similar to apiKeys, but instead of a comma separated list it specifies the path to
a file containing a JSON object with API keys as keys and a description as value.
If the path of this parameter indicates a directory, the contents of the file apikeys.json are used,
if present within the directory.
- Type
- Path
assetPackageFiles
This parameter limits the maximum number of files that an asset package may contain. A value of 0 or a
negative value indicates that there is no file limit. The default value is 1000.
- Type
- Integer
- Unit
- Amount
assetPackageMaxSize
Limits the maximum size of the asset package (in bytes). A value of 0 or a negative value indicates
that there is no size limit. By default, no maximum size is configured.
- Type
- Long
- Unit
- Bytes
bufferSyncResult
When enabled, the service first writes the binary result of synchronous conversions
to a temporary file on the server before sending it with the response. This might cause longer request times to the service,
but exceptions that occur while the result data is written (such as timeouts and validation errors)
can now be reliably relayed to the client. Without buffering, the client might receive corrupt data when such exceptions occur.
- Type
- Boolean
callbackMaxTimeout
Callback timeouts with a negative or zero value are treated as an infinite timeout. If infinite timeouts
are undesirable for your server, you can limit it to this value (in milliseconds). By default, no maximum timeout is configured.
- Type
- Integer
- Unit
- Milliseconds
callbackTimeout
When clients specify callbacks without a timeout, this value will be used as a default timeout (in milliseconds)
for connections to the callback URL. The default value is 30000 (30 seconds).
- Type
- Integer
- Unit
- Milliseconds
cleanupInterval
This parameter specifies the interval (in days) at which the PDFreactor Web Service deletes asynchronous
conversion results that have not been retrieved. The default value is 5.
- Type
- Integer
- Unit
- Days
configPath
The location of the server configuration file.
- Type
- Path
conversionCacheSize
This parameter specifies the amount of conversions that are kept in memory (only their metadata, without the document).
Otherwise they have to be reloaded from the file system.
- Type
- Integer
- Unit
- Amount
conversionTimeout
Specifies a timeout in seconds after which conversions automatically terminate. Specifying the value "0"
means that there is no timeout. By default, no timeout is configured.
- Type
- Integer
- Unit
- Seconds
criticalEvents
Puts the server in a critical state if certain events occur. You can listen for the following events:
async_unavailable
can occur during startup when the service determines that it can't perform asynchronous conversions.no_licensekey
can occur during startup when the service has no license key configured, cannot locate one on the file system, or the configured license key is invalid.
- Type
- Enum
- Values
- async_unavailable | no_licensekey
debugLocalDir
This specifies the directory where debug files will be dumped by PDFreactor
in case debug mode is enabled and no converted document could be created.
- Type
- Path
disableDocTemp
If set to
true
, the Web Service will not use a temp folder. This also means
that asynchronous conversions are not available. Synchronous conversions will be done in-memory, so make sure that the Web Service has sufficient
amounts of memory available.
- Type
- Boolean
disableFontCache
If set to
true
, the Web Service will not use a file-based font cache.
Generally, this is not recommended since the font cache will then have to be created for every conversion which is likely to have a significant
performance impact. The default value is false
.
- Type
- Boolean
disableFontRegistration
If set to
true
, font registration is disabled and any existing font
cache will be ignored and the font directories will be scanned for font information. The default value is false
.
- Type
- Boolean
disableSystemFonts
If set to
true
, PDFreactor will neither
scan for nor use system fonts that are installed on the server. Only fonts specified via CSS and via the server parameter fontDirs
as well as PDFreactor internal fonts will be used.
- Type
- Boolean
docTempDir
This parameter specifies the location of the Web Service's temporary folder which is used to store
asynchronously converted documents. The pre-configured location is the pdfreactor/doctemp directory
in the PDFreactor/jetty-base-pdfreactor directory.
- Type
- Path
docTempRetentionPeriod
Asynchronous conversions create temporary files on the server, which are automatically deleted when
they are read once. If results of asynchronous conversions are not accessed, these files remain on the server and are deleted after a certain amount of
days equal to this parameter. The default value is
5
(days).
A negative value means that abandoned temporary files will never be deleted.
- Type
- Integer
- Unit
- Days
docTempStructure
This parameter configures the structure of the directory where PDFreactor
stores temporary documents. If set to
flat
(the default value),
all documents are placed in the same directory. If set to
datetime
, temporary documents are placed in subfolders
representing the date and hour when the conversion started. A flat structure
is recommended when using a shared temporary document storage directory.
- Type
- Enum
- Values
- datetime | flat
fontCacheDir
This specifies the directory of the font cache, which will be created by PDFreactor.
If no path is specified, the font cache will be created in PDFreactor/jetty-base-pdfreactor/pdfreactor/fontcache.
- Type
- Path
fontDirs
This parameter takes a colon or semicolon separated list of directories that PDFreactor
should scan for fonts.
- Type
- List<Path>
httpCacheEnabled
This parameter indicates that a HTTP cache is to be used.
- Type
- Boolean
ignoreClientPriority
If set to
true
, the Web Service will ignore any priority specified
via the priority
property in the client's Configuration object.
- Type
- Boolean
jsonMaxStringLength
This parameter specifies the maximum string length of any configuration property
when using the JSON format. Should a string exceed this length, the configuration will
be rejected. The default value is 20,000,000.
- Type
- Integer
licenseKeyPath
Specifies a file system path, either directly to the license key file
or to a directory where the license key file is located.
- Type
- Path
licenseKeyUrl
Specifies a URL where the license key file is
located.
- Type
- URL
networkSettings.authenticationCredentials
This parameter indicates a URL or file system path to text file containing authentication credentials.
The file must contain a JSON array of
HttpCredentials
objects in JSON format.
- Type
- URL
networkSettings.connectTimeout
Specifies the connect timeout of the network settings.
- Type
- Integer
- Unit
- Milliseconds
networkSettings.cookiePolicy
Specifies the cookie policy of the network settings.
- Type
- Enum
- Values
- disabled | relaxed | strict
networkSettings.cookies
This parameter indicates a URL or file system path to text file containing cookies.
The file must contain a JSON array of
Cookie
objects in JSON format.
- Type
- URL
networkSettings.readTimeout
Specifies the read timeout of the network settings.
- Type
- Integer
- Unit
- Milliseconds
networkSettings.requestHeaders
This parameter indicates a URL or file system path to text file containing request headers.
The file must contain a JSON array of
KeyValuePair
objects in JSON format.
- Type
- URL
overrideConfig
A URL or path to a file containing a server-side configuration which is used to override any properties in the configuration send by clients.
The file must be a
Configuration
object in JSON format.
- Type
- URL
overrideConfigMergeMode
The merge mode used when specifying an
overrideConfig
.
The default mode is shallow
, which means that the overrideConfig and the client config are shallow-merged, i.e. top-level properties
of the overrideConfig completely override those in the client config.
When using the mode deep
, the two configs are deep-merged.
- Type
- Enum
- Values
- deep | shallow
resourceCacheDirectory
This parameter indicates the file system location of the resource cache directory.
- Type
- Path
resourceCacheMaxEntries
This parameter indicates the maximum amount of entries that are allowed in the resource cache.
- Type
- Integer
- Unit
- Amount
resourceCacheMaxObjectSize
This parameter indicates the maximum size of an object that can be cached in the resource cache.
- Type
- Long
- Unit
- Bytes
securitySettings.allowAuthorApiOverrides
This parameter specifies whether to allow authors to override API settings, e.g. by using document JavaScript.
- Type
- Boolean
securitySettings.allowExternalXmlParserResources
This parameter specifies whether the XML parser will process external XML resources during parsing, e.g. DTDs, entities, XInlcudes.
This does not affect HTML5 document processing.
- Type
- Boolean
securitySettings.allowNonLocalFileUrls
This parameter specifies whether to allow file URLs to non-local hosts. If not enabled,
PDFreactor considers all file URLs invalid that have a non-empty authority component other than exactly "localhost".
- Type
- Boolean
securitySettings.allowRedirects
This parameter specifies whether to allow automatic URL redirects when PDFreactor receives appropriate status codes.
- Type
- Boolean
securitySettings.connectionRules
A URL or path to a file containing a list of rules that PDFreactor evaluates and then either denies or allows connections to a particular resource.
The file must be a JSON array of
ConnectionRule
objects in JSON format.
- Type
- URL
securitySettings.defaults.allowAddresses
This parameter specifies a list of address types to where PDFreactor is allowed to connect.
- Type
- List<Enum>
- Values
- link_local | local | private | public
securitySettings.defaults.allowFileSystemAccess
This parameter specified whether to allow document resources such as CSS or JavaScript file system access.
- Type
- Boolean
securitySettings.defaults.allowProtocols
This parameter specifies a list of allowed URL protocols. URLs with protocols not in this list will be blocked.
Note that "file" protocols are handled by securitySettings.defaults.allowFileSystemAccess instead.
- Type
- List<String>
securitySettings.defaults.allowSameBasePath
This parameter specifies whether to allow loading of document resources that have the same base path as the document.
- Type
- Boolean
securitySettings.hideVersionInfo
Specifies whether PDFreactor will include version information in the PDF metadata or in response headers.
- Type
- Boolean
securitySettings.trustAllConnectionCertificates
Specifies whether PDFreactor should automatically trust all SSL certificates when connecting to
a server via HTTPS.
- Type
- Boolean
securitySettings.untrustedApi
Specifies whether the PDFreactor configuration object is considered an untrusted context for the purpose of
security. If it is a trusted context, URLs that are specified in the configuration object are not vetted against the security settings
and are always allowed. If it is not trusted, the same security settings that are used for document resources apply
to all configuration resources (including the document) as well.
- Type
- Boolean
serverLogLevel
This parameter configures the log level of the server's log. The following levels are available:
fatal
(least verbose)error
warn
info
debug
trace
(most verbose)
off
disables server logging. The default value is info
.
- Type
- Enum
- Values
- debug | error | fatal | info | off | trace | warn
serverLogMessagePrefixFormat
The format of the prefix to use for log messages that are logged in the server log.
The format consists of several placeholder tokens, each wrapped in double curly braces, i.e. {{xxx}}
.
The following tokens are available and are filled automatically:
{{app.id}}
- The ID of the application. Will always be replaced with PRWS.{{app.name}}
- The name of the application. Will always be replaced with PDFreactor Web Service.{{service.id}}
- The unique ID of the service instance.{{service.name}}
- The name of the service as specified in the serverName parameter. Defaults toapp.name
if not specified.{{task.id}}
- The ID of the conversion that produced the log message. If the application produced the log message instead of a conversion, the token is replaced replaced by the value ofservice.id
.{{task.id?}}
- Same astask.id
but is replaced by an empty string if the log message is not produced by a conversion.{{task.name}}
- The name of conversion that produced the log message, as specified in the 'conversionName' configuration parameter. If the application produced the log message instead of a conversion, the token is replaced by the value ofservice.name
.{{task.name?}}
- Same astask.name
but is replaced by an empty string if the log message is not produced by a conversion.{{context}}
- The context, i.e. if the log message was produced from a conversion or the application. Replaced by 'Task' if it was a conversion, andapp.name
otherwise.{{context.id}}
- Same ascontext
, but replaced byservice.id
if the log message was not produced by a conversion.{{context.name}}
- Same ascontext
, but replaced byservice.name
if the log message was not produced by a conversion.
The default log format is: {{context}} {{task.id}}
Depending on the use case, this may make log messages easier to identify.
- Type
- String
serverLogMode
This parameter configures the log mode of the server. If set to
bulk
(the
default value), the entire log output of a PDF conversion is dumped after the conversion is finished. This can also be set to live
which outputs log entries directly. However if there are multiple conversions in parallel, log entries from other conversions may be written out at the
same time, so there is no guarantee that you will receive a coherent log of a single conversion (contrary to bulk
). The
mode off
disables the server-side logging of all conversions.
- Type
- Enum
- Values
- bulk | live | off
serverName
The name of the service or server. Can be used to identify the service in the logs.
- Type
- String
shutdownIfCritical
This parameter automatically shuts down the Java VM and thus the PDFreactor Web Service if its state is critical.
The numeric value represents the exit code that is emitted when the service shuts down.
It is recommended to use a positive non-zero exit code value.
- Type
- Integer
systemdLogLevel
This parameter configures Systemd logging. If this parameter is configured, log messages will be logged to the Systemd log in addition to the server log file.
Available values are
SEVERE
, WARNING
, CONFIG
, and INFO
.
Systemd logging is only supported for Linux system that support Systemd. You can access PDFreactor logs through their identifier, e.g.
journalctl -t pdfreactor
- Type
- Enum
- Values
- config | info | severe | warning
threadPoolSize
This parameter determines the number of parallel conversions that can be performed by the PDFreactor Web Service. Please note that while there is no maximum
value for this, only a thread pool size that is lower
as or equal to the system's maximum amount of threads will increase performance when converting documents in parallel. The default value is calculated
from the system's number of processors.
- Type
- Integer
- Unit
- Amount