Central Configuration
PrizmDoc Server can be configured using a central configuration file for both Windows and Linux. To do so, watchdog.config must contain a property paths.central_config_file whose value is a path to the central configuration file relative to the PrizmDoc Server install directory. If this value is not provided, legacy configuration will be used instead.
The configuration file will perform environment variable expansion in path values. The environment variable must be contained within a quoted string and enclosed with the % character. For example, "%ALLUSERSPROFILE%" or "%my_path%/subpath" are both valid paths containing environment variables which will be expanded at runtime.
Notes:
-
The file paths for the Central Configuration file are:
- Linux: /usr/share/prizm/prizm-services-config.yml
- Windows: C:\Prizm\prizm-services-config.yml
- The default installation directory is: C:\Prizm.
The following options are available for configuration within the central configuration file:
Licensing
Property | Default Value | Supported Values | Description |
---|---|---|---|
license.solutionName |
None (Required) | Valid solution name string | PrizmDoc Server solution name. |
license.key |
None (Required) | Valid license key string | PrizmDoc Server license key. |
Network
Property | Default Value | Supported Values | Description |
---|---|---|---|
network.publicPort |
None (Required) | Any open HTTP port on the server | The public port the REST API will be available on. |
network.internalStartingPort |
None (Required) | Any open HTTP port on the server | The product requires a range of 200 ports which are reserved for its own internal use. This setting defines the starting port of that range (e.g. a value of 19000 means that ports 19000 through 19199 would be reserved for use by the product). These ports must not be accessible from outside of the server, for security reasons. |
network.clustering.enabled |
false | true, false | Set to true to enable cluster mode. |
network.clustering.clusterPort |
- | Any open HTTP port on the server | The port used to route requests to other servers in the cluster. This port needs to be exposed to the other servers in the cluster. |
network.clustering.servers |
- | Array containing hostnames or ip addresses of other servers within the cluster. | The server list can be set once via config, or repeatedly at runtime via a REST API call. Setting the list of servers here is useful if you have a static set of machines that will not change. |
Security
Property | Default Value | Supported Values | Description |
---|---|---|---|
security.aesEncryption.key |
"E9rU73lZ2vd0he8Ls/hD8A==" | Base64 encoded value of a byte array representing an AES key with a size of 128, 192 or 256 bits. |
The AES encryption key used to create external viewing session IDs. The external viewing session ID is a AES encrypted, Base64 encoded value of a string in the format of: <internal ID>/<server’s host name>/<Auth-Token header value> Internal ID: This value is a unique GUID that is internally created by PCCIS for each new viewing session. Server’s Host Name: Aptly named, this value is the hostname of the server on which PCCIS is running. Auth-Token Header Value: If the "Auth-Token" HTTP header exists in the initial POST request to create a viewing session, its value will be used here. Otherwise, "accusoft" is used. This value is useful if you have the need to store an authorization token for each viewing session which a proxy might need. See PrizmDoc Cluster Management for more details. |
security.aesEncryption.iv |
"jTN2XBjybtfA2fpsv6mylQ==" | Base64 encoded value of a byte array representing an AES initialization vector with a size of 128 bits. | The AES encryption initialization vector (iv) used to create external viewing session IDs. |
security.htmlRendering.blockExternalContent |
false | true, false |
When rendering any source document which uses HTML content, controls whether or not externally-referenced content, such as images and iframes, will be blocked. This option affects any source document file type which uses HTML, including HTML, EML, and MSG. NOTE: Changing this setting can affect rendered layout and page count. false - When rendering HTML, issue network requests for externally-referenced content in images, iframes, etc., and include that content in the final output. Any URL accessible from this machine may be loaded and included in the final output. true - When rendering HTML, block externally-referenced content in images, iframes, etc. No network requests will be issued when rendering HTML and the final output will only include the content that is directly-present in the source HTML. |
Logging
Property | Default Value | Supported Values | Description |
---|---|---|---|
logging.directory |
<install_dir>/logs e.g.: /usr/share/prizm/logs C:\Prizm\logs |
Any valid path to a directory with write permissions. | Directory where all log files will be stored. |
logging.daysToKeep |
7 | Any natural number |
The number of rotated logs to keep in addition to the active log file. Logs are rotated each day at midnight (UTC). NOTE: This value does not currently apply to all services. Some services will always keep 7 rotated logs. Logs with 7 day archives:
|
Cache
Property | Default Value | Supported Values | Description |
---|---|---|---|
cache.directory |
<install_dir>/cache e.g.: /usr/share/prizm/cache C:\Prizm\cache |
Any valid path to a directory with read and write permissions. | Directory where cache data is stored. |
Work Files
Property | Default Value | Supported Values | Description |
---|---|---|---|
workFiles.directory |
cache.directory/WorkFileCache | Any valid path to a directory with read and write permissions. | Directory where work files are stored. |
workFiles.lifetime |
"1d" | Formatted Value, see Description |
The length of time that a workfile remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes. See How to Implement Caching Strategies for more details. |
User Documents
Property | Default Value | Supported Values | Description |
---|---|---|---|
userDocuments.directory |
<install_dir>/cache/ UserDocuments e.g.: /usr/share/prizm/cache C:\Prizm\cache /UserDocuments |
Any valid path to a directory with read permissions. | A directory that contains your documents for use when the documentSource viewing session property is set to "file". |
REST API Process Resources
Property | Default Value | Supported Values | Description |
---|---|---|---|
processIds.lifetime |
"20m" | Formatted Value, see Description |
The length of time that a redaction creator, markup burner, or content converter process remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes. See How to Implement Caching Strategies for more details. |
Viewing
Property | Default Value | Supported Values | Description |
---|---|---|---|
viewing.allowDocumentDownload |
false | true, false | Controls whether or not the REST API will accept requests to download the source document for a given viewing session. |
viewing.sessionLifetime |
"20m" | Formatted Value, see Description |
The length of time that a viewing session remains usable. This must be an integer, followed by "s", "m", "h", or "d". The suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "20m" indicates viewing sessions will timeout after 20 minutes. See How to Implement Caching Strategies for more details. |
viewing.cacheLifetime |
"1d" | Formatted Value, see Description |
The length of time that a document is cached and can be potentially reused by other new viewing sessions. This must be an integer, followed by "s", "m", "h", or "d". Those suffixes stand for second, minute, hour, or day, respectively. There should not be any space characters between the number and suffix. For example, "1d" indicates that data will be cached for up to one day. See How to Implement Caching Strategies for more details. |
viewing.contentEncryption.enabled |
false | true, false | Controls whether or not content is encrypted by the back end before being transmitted to a Viewer. The Viewer will decrypt the content in the browser. This is useful for DRM, making it more difficult to copy protected content that has been delivered to the browser. |
viewing.sessionConstraints.documentSource.allowedValues |
["api","http"] | Array which contains one or more of the following strings: "api", "http", "file" |
Creates a value filter that will be applied to the "documentSource" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created. Allowing a combination of document sources here enables you to create viewing sessions with different sources on the fly without needed to modify this config file. This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.countOfInitialPages.min |
0 | Any natural number |
Minimum allowed value for the "countOfInitialPages" JSON property when creating a new viewing session. Together with This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.countOfInitialPages.max |
10 | Any natural number not less than viewing.sessionConstraints.countOfInitialPages.min |
Maximum allowed value for the "countOfInitialPages" JSON property when creating a new viewing session. Together with This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.documentExtension.regex |
".*" |
Valid regular expression using the .NET Regular Expression Language |
Creates a regex filter that will be applied to the "documentExtension" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.
This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.externalId.regex |
".*" |
Valid regular expression using the .NET Regular Expression Language |
Creates a regex filter that will be applied to the "externalId" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created.
This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.pageContentEncryption.allowedValues |
["default"] | An array with either one or all of the following strings: "default", "enabled", "disabled" |
Creates a value filter that will be applied to the "pageContentEncryption" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created. This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.serverCaching.allowedValues |
["none","full"] | An array with one or more of the following strings: "none", "full" |
Creates a value filter that will be applied to the "serverCaching" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created. This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. See How to Implement Caching Strategies for more details. |
viewing.sessionConstraints.render.alwaysUseRaster.allowedValues |
[false] | An array with one or more of the following values: true, false |
Creates a value filter that will be applied to the "render.html5.alwaysUseRaster" JSON property when creating a new viewing session to ensure appropriate values are being set. If the actual property value fails to match the filter, an error will be returned and the viewing session will not be created. This property is one of several that can be used to limit unwanted values from being used within the JSON properties of the initial POST request to create a viewing session. These filter values are useful to prevent mistaken or malicious values from being sent that could affect server behavior. |
viewing.sessionConstraints.minSecondsAvailable.max |
86400 | Any integer greater than 0 | This configuration property provides a maximum value that can be used for the option 'minSecondsAvailable'. The value is a positive number and represents seconds. When this value is set to zero, the ViewingSession timeout will be used for validation of the minSecondsAvailable option in the POST /ViewingSession. The default will be 86400 seconds (1 day). This option is available for PrizmDoc version 12.0 or greater. |
Fidelity
Property | Default Value | Supported Values | Description |
---|---|---|---|
fidelity.svgMaxImageSize |
8000 | Any integer greater than 0 |
For source documents which contain images, ensures that the images in the SVG delivered to the browser do not exceed a particular pixel width and/or height. For example, a value of 8000 would ensure that any images in a PDF whose width or height were greater than 8000 pixels would be down-sampled before the image was added to the final SVG. A typical value is 8000. The default value for this property is configurable. The out-of-box configuration uses a default value of 8000. Use 0 to disable the optimization. |
fidelity.vectorBackgroundColor.view.default |
white | CSS color name, e.g. "gray", or a hex RGB value, e.g. #FFFFFF | Defines the background color for viewing CAD documents if the background is not specified in the document. Also defines the background color for converting CAD documents to SVG, PNG, JPEG and TIFF. Please note, DGN documents define their background color, so this property does not affect them. Use fidelity.vectorBackgroundColor.view.override to define background color, ignoring the background color specified in the document. |
fidelity.vectorBackgroundColor.view.override |
none | CSS color name, e.g. "gray", or a hex RGB value, e.g. #FFFFFF, or “none” | Defines the background color for viewing CAD documents, ignoring the background specified in the document. Also defines the background color for converting CAD documents to SVG, PNG, JPEG and TIFF, ignoring the background specified in the document. Overrides fidelity.vectorBackgroundColor.view.default. |
fidelity.vectorTolerance |
0.3 | A positive Floating point value with a minimum value of 0.0 and a maximum value of 10.0 |
For CAD documents, controls how much path simplification is allowed. The path simplification algorithm will merge points which are "close together" to create an optimized SVG. You can think of this value as defining what "close together" means. A typical value is 0.3. Higher values introduce more simplification, but also more distortion. The value cannot be greater than 10.0. The default value for this property is configurable. The out-of-box configuration uses a default value of 0.3. Use 0 to disable the optimization. |
fidelity.msOfficeDocumentsRenderer |
"auto" | One of the following strings: "auto", "libreoffice", and "msoffice" |
Specifies the renderer to use with Microsoft Office documents. When set to "auto", PrizmDoc decides which renderer to use based on the MSO feature license state. If the MSO feature is present, then the Microsoft Office renderer will be used. Otherwise, Libreoffice will be used. When set to "libreoffice", PrizmDoc will be using the Libreoffice renderer. If you are intending to use the Libreoffice renderer permanently on a server that does not have Microsoft Office installed, please contact Accusoft Sales or Customer Support, to obtain the license key with MSO feature disabled. When set to "msoffice", PrizmDoc will be using the Microsoft Office renderer, if the MSO feature is enabled in the license key, otherwise the licensing error will be reported. The parameter affects only Microsoft Office documents, RTF and CSV files. Other documents will continue to be rendered with LibreOffice. For a complete list of supported file types see Supported File Formats. |
fidelity.msOfficeCluster.host |
"" | A valid IP address or hostname |
This value is used to enable Microsoft Office Conversion connectivity for PrizmDoc servers running on Linux. Set this value on a PrizmDoc server running on Linux to the hostname (or the IP of a single PrizmDoc server, or a load balancer of a cluster running on Windows) to utilize the Microsoft Office Conversion service running on Windows to have native rendering of Microsoft documents in PrizmDoc. |
fidelity.msOfficeCluster.port |
0 | Any open HTTP port on the server |
This value is used to enable Microsoft Office Conversion connectivity for PrizmDoc servers running on Linux. Set this value on a PrizmDoc server running on Linux to the public port of a single PrizmDoc server (or a load balancer of a cluster running on Windows) to utilize the Microsoft Office Conversion service running on Windows to have native rendering of Microsoft documents in PrizmDoc. To connect to a single server specify To connect to a load balancer specify |
File Types
Property | Default Value | Supported Values | Description |
---|---|---|---|
fileTypes.pdf.pageBoundaries |
mediaBox | One of the following strings: "mediaBox", "cropBox" | Controls which set of page boundaries should be used when interacting with PDF files. |
fileTypes.excel.margins.mode |
remove | One of the following strings: "preserve", "remove" |
Controls how the page margins should be handled in Excel documents. "preserve" - Preserve (do not remove) document pages margins. Requires that "remove" - Remove all margins from the document pages. Requires that NOTE: Changing this setting can affect rendered layout and page count. |
fileTypes.office.disableExternalHyperlinks |
false | true, false |
Controls whether the external hyperlinks are enabled or disabled when viewing or converting Microsoft Office documents to PDF. false - All external hyperlinks are enabled. true - All external hyperlinks are disabled. |
fileTypes.excel.pagination.enabled |
true | true, false |
Controls whether or not pagination is enabled for Excel documents. NOTE: Changing this setting can affect rendered layout and page count. |
fileTypes.excel.pagination.dimensions.mode |
override | One of the following strings: "preserve", "override" |
Controls which pagination mode to use if pagination is enabled for Excel documents ( "preserve" - Use the page dimensions specified in the Excel file. Requires that "override" - Ignore the page dimensions of the Excel file and instead always use the following settings in this config file: fileTypes.excel.pagination.dimensions.minWidth , fileTypes.excel.pagination.dimensions.maxWidth , fileTypes.excel.pagination.dimensions.minHeight , fileTypes.excel.pagination.dimensions.maxHeight
Requires that |
fileTypes.excel.pagination.dimensions.minWidth |
"11.0in" | String consisting of a positive number followed by "in" | Controls the minimum page width for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode is set to "override". |
fileTypes.excel.pagination.dimensions.maxWidth |
"22.0in" | String consisting of a positive number followed by "in" | Controls the maximum page width for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode is set to "override". |
fileTypes.excel.pagination.dimensions.minHeight |
"8.5in" | String consisting of a positive number followed by "in" | Controls the minimum page height for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode is set to "override". |
fileTypes.excel.pagination.dimensions.maxHeight |
"17.0in" | String consisting of a positive number followed by "in" | Controls the maximum page height for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode is set to "override". |
fileTypes.excel.renderGridlines |
true | true, false | Specifies whether or not the Excel gridlines in all worksheets of the workbook should be rendered. |
fileTypes.excel.renderOnlyPrintArea |
false | true, false | Specifies whether the print areas defined in Excel workbook are to be honored or not. When set to "true", only the content defined within the print areas will be rendered. When set to "false", the content that goes beyond print areas will be rendered as well. |
fileTypes.excel.renderHeadersAndFooters |
true | true, false | Specifies whether or not headers and footers of an Excel workbook should be rendered. When set to "true", even if the original document is missing the headers and footers, a space for headers and footers shall be reserved when rendering an Excel document. |
fileTypes.excel.renderHiddenContent |
true | true, false | Specifies whether or not the hidden rows, hidden columns, and whole spreadsheets that are hidden in the original Excel workbook are to be rendered. |
Resource Usage
Property | Default Value | Supported Values | Description |
---|---|---|---|
resourceUsage.pccis.instances |
3 | Any integer greater than 0 | The number of PCCIS ASP.NET application instances to run concurrently. |
resourceUsage.ocs.numInstances |
"auto" | Any integer greater than 0, or the string "auto" |
The number of office conversion service instances to run concurrently, or "auto" to let the product choose an appropriate value. We recommend using the default value of "auto". If you do provide a specific value, it should not be set higher than the number of physical cores available on your server. |
resourceUsage.ocs.numThreads |
"auto" | Any integer greater than 0, or the string "auto" |
The number of threads each instance should create to handle document processing requests, or "auto" to let the product choose an appropriate value. We recommend using the default value of "auto". If you do provide a specific value, it should not be higher than 2 x ocs.instances. |
resourceUsage.ocs.numPorts |
"auto" | Any integer greater than 0, or the string "auto" |
The number of ports which can be used internally for communication with the office conversion instances, or "auto" to let the product choose an appropriate value. We recommend using the default value of "auto". If you do provide a specific value, it should be no higher than 4 x ocs.instances. |