PDFreactor Server Parameter Documentation

Java | .NET | JavaScript | Node.js | PHP | Python | Ruby | Web Service Client | SOAP Client

Server Parameters

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)
The level 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 to app.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 of service.id.
  • {{task.id?}} - Same as task.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 of service.name.
  • {{task.name?}} - Same as task.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, and app.name otherwise.
  • {{context.id}} - Same as context, but replaced by service.id if the log message was not produced by a conversion.
  • {{context.name}} - Same as context, but replaced by service.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