Configure PrizmDoc Server using the services Central Configuration file. 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. In most cases of Windows and Docker paths, single-quoted strings can be used which don't require any escaping. If you prefer using double-quoted strings, make sure to escape the Windows paths separator \
and other special characters.
For example, "%ALLUSERSPROFILE%" or "%my_path%/subpath" are both valid paths containing environment variables which will be expanded at runtime.
NOTE: PrizmDoc Cloud uses specific default values that differ from the self-hosted default values as noted in the PrizmDoc Cloud Default Values section below.
Working with the Central Configuration File
- The locations for the Central Configuration file are:
- Windows: C:\Prizm\prizm-services-config.yml (given the default installation directory)
- Docker: <config_folder>/prizm-services-config.yml, where <config_folder> is the folder that you mapped as
/config
when creating the container. See Installing / Using Docker for more details. - Kubernetes: configuration parameters are provided via a ConfigMap resource. See Deployment to Kubernetes Guidance for more details.
- After making any changes to the configuration files, you need to restart the PrizmDoc Server.
IMPORTANT: Any time you make a change to the configuration files that affects document output, you must clear your cache.
Cache
cache.directory
Directory where cache data is stored.
Supported Values: Any valid path to a directory with read and write permissions.
Default Value: Windows: <install_dir>\cache; Docker: /data/cache
For example:
- Windows: C:\Prizm\cache
- Docker: /data/cache
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\cache'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\cache"
NOTE: When using PrizmDoc Docker containers, we recommend that you keep this property unchanged.
Central Database
The use of a Central Database is required in the following cases:
- When using an Offline Metered License.
-
When the "v3" Viewing Packages API is turned on. DEPRECATION NOTICE: The "v3" viewing packages REST APIs have been deprecated and will be removed in a future release.
This feature is disabled by default. When the features listed above are not used, PrizmDoc Server will not use a database, or even check for its existence in the configuration.
database.connectionString
Connection string to the central database. MySQL is the only database currently supported. A MySQL example:
"mysql://prizm-user:password@prizm-server.database.host:3306/prizmdoc_server_db"
Supported Values: N/A
Default Value: ""
Environment Options
eps.env
One or more additional environment settings for the Email Processing Service, in the following form: eps.env.var_name: "var_value"
Wherevar_name
can be any valid name for the environment variable and var_value
is a text value for the environment variable.
Examples:
- eps.env.VAR1: "Value1"
- eps.env.VAR2: "Value2"
Supported Values: Any string value
Default Value: ""
pdfps.env
One or more additional environment settings for the PDF Processing Service, in the following form: pdfps.env.var_name: "var_value"
Wherevar_name
can be any valid name for the environment variable and var_value
is a text value for the environment variable.
Examples:
- pdfps.env.VAR1: "Value1"
- pdfps.env.VAR2: "Value2"
Supported Values: Any string value
Default Value: ""
Fidelity
fidelity.htmlRendering.externalContent.connectionTimeout
Timeout for establishing a connection when downloading external content in HTML documents and HTML bodies of email documents, such as external images or CSS stylesheets.
Setting this parameter to a smaller value will allow faster rendering of HTML when external content is not available.
Supported Values: Must be an integer, followed by "ms" or "s". The suffixes stand for millisecond or second, respectively. There should not be any space characters between the number and suffix.
Default Value: 10s
fidelity.msOfficeCluster.host
This value is used to enable Microsoft Office Conversion connectivity when using the PrizmDoc Server Docker container. If needed, set this parameter to the hostname (or the IP) of a single PrizmDoc Windows 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.
Supported Values: A valid IP address or hostname
Default Value: ""
fidelity.msOfficeCluster.port
This value is used to enable Microsoft Office Conversion connectivity when using the PrizmDoc Server Docker container. If needed, set this parameter to the public port of a single PrizmDoc Windows 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 or load balancer specify network.publicPort
parameter of the remote server.
Supported Values: Any open HTTP port on the server
Default Value: 0
fidelity.msOfficeCluster.scheme
This value is used to enable encrypted communication between PrizmDoc servers running in Docker and PrizmDoc servers providing the native rendering of Microsoft documents.
When set to http
, PrizmDoc uses the HTTP scheme for connecting to the PrizmDoc MSO server or cluster.
When set to https
, PrizmDoc uses the HTTPS scheme for connecting to the PrizmDoc MSO server or cluster.
NOTE: You will also need to enable HTTPS support on your MSO server(s). See Security Guidance for more details.
Supported Values: One of the following strings: http
, https
Default Value: http
fidelity.msOfficeDocumentsRenderer
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 use the LibreOffice renderer. If you are intending to use the LibreOffice renderer permanently, contact info@accusoft.com to obtain a metered license or a license with the MSO feature disabled.
When set to msoffice
, PrizmDoc will use the Microsoft Office renderer if the MSO feature is enabled in the license key, otherwise a 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.
NOTE: For PrizmDoc Cloud, the default value for
fidelity.msOfficeDocumentsRenderer
ismsoffice
.
Supported Values: One of the following strings: auto
, libreoffice
, or msoffice
Default Value: auto
fidelity.svgMaxImageSize
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.
NOTE: When embedded images are very large and the optimization is disabled, browsers may display a placeholder icon instead of an image. If you want to keep high resolution images, consider setting this parameter to a large value, such as 30000, instead of setting it to 0.
Supported Values: Any integer greater than 0
Default Value: 8000
fidelity.vectorBackgroundColor.view.default
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. DGN documents define their own background color, so this property does not affect them. Use fidelity.vectorBackgroundColor.view.override
to define the background color (and ignore the background color specified in the document).
Supported Values: CSS color name, e.g., gray
, or a hex RGB value, e.g., #FFFFFF
Default Value: white
(#FFFFFF
)
fidelity.vectorBackgroundColor.view.override
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
.
Supported Values: CSS color name, e.g., gray
, or a hex RGB value, e.g., #FFFFFF
, or none
Default Value: none
fidelity.vectorTolerance
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.
Supported Values: A positive floating point value with a minimum value of 0.0
and a maximum value of 10.0
Default Value: 0.3
File Types
__experimental.fileTypes.email.renderMeetingInfo
Controls whether email headers containing the meeting information (When, Who) should be rendered in email documents.
NOTE: This feature is a work-in-progress that is not officially supported by Accusoft. Its behavior may change at any time in a future release of the product.
NOTE: If you change the
__experimental.fileTypes.email.renderMeetingInfo
setting, you must clear your cache in order for the new settings to take effect on the files that were previously converted with the old rendering mode.
NOTE: This setting affects the rendering layout of email documents. Markup generated for documents rendered with this setting turned off cannot not be used for documents rendered with this setting turned on and vice versa.
Supported Values: true
, false
Default Value: false
fileTypes.email.dateFormat
Specifies the format for the rendering of dates in email headers.
NOTE: This parameter will be ignored if the
__experimental.fileTypes.email.renderMeetingInfo
parameter is set to true.
The Sent
header value will be composed by concatenating the message's sent date, time and time zone, separated by whitespaces. If fileTypes.email.dateFormat
is an empty string, the date will not be displayed as part of the Sent
header value.
See Configure Date and Time Headers in Email Documents for additional details.
Supported Values: Must be a string containing zero or more of the following substitution patterns:
yy
: two digit representation of the yearyyyy
: four digit representation of the yearM
: one or two digit number of the month in year, not zero paddedMM
: one or two digit number of the month in year, zero paddedMMM
: name of the month in year, abbreviated to three lettersMMMM
: name of the month in year, not abbreviatedd
: day in month, not zero paddeddd
: day in month, zero paddedEEE
: day name in week, abbreviated to three lettersEEEE
: day name in week, not abbreviated
The format string may also contain whitespaces and fragments of arbitrary text surrounded by single quotes.
Default Value: MMMM d',' yyyy
fileTypes.email.timeFormat
Specifies the format for the rendering of time in email headers.
NOTE: This parameter will be ignored if the
__experimental.fileTypes.email.renderMeetingInfo
parameter is set to true.
The Sent
header value will be composed by concatenating the message's sent date, time and time zone, separated by whitespaces. If fileTypes.email.timeFormat
is an empty string, the time will not be displayed as part of the Sent
header value.
See Configure Date and Time Headers in Email Documents for additional details.
Supported Values: Must be a string containing zero or more of the following substitution patterns:
H
: hour in day (0-23), not zero-paddedHH
: hour in day (0-23), zero-paddedh
: hour in am/pm (1-12), not zero-paddedhh
: hour in am/pm (1-12), zero-paddedmm
: minute in hour, zero-paddedss
: second in minute, zero-paddeda
: AM/PM marker
The format string may also contain whitespaces and fragments of arbitrary text surrounded by single quotes.
Default Value: h':'mm a
fileTypes.email.timeZone
Specifies the time zone for the rendering of date and time in email headers.
NOTE: By default PrizmDoc displays time zone offsets (such as
UTC-05:00
) rather than time zone names (such asUS/Eastern
) in email headers. Calculation of time zone offsets takes into account whether the date being displayed falls on the daylight savings time. For example, iffileTypes.email.timeZone
is set toUS/Eastern
, theSent
header of an email sent at 15:00 January 1, 2023 US/Eastern time will display asJanuary 1, 2023 3:00 PM (UTC-05:00)
, while theSent
header of an email sent at 15:00 July 1, 2023 US/Eastern time will display asJuly 1, 2023 3:00 PM (UTC-04:00)
.
NOTE: If PrizmDoc cannot recognize the time zone identifier, it will refuse to start up.
NOTE: This parameter will be ignored if the
__experimental.fileTypes.email.renderMeetingInfo
parameter is set to true.
See Configure Date and Time Headers in Email Documents for additional details.
Supported Values: See Supported Time Zones. If set to serverTimeZone
, PrizmDoc will use the time zone of the server where it runs.
Default Value: serverTimeZone
fileTypes.email.timeZoneFormat
Specifies the format for the rendering of time zones in email headers.
NOTE: This parameter will be ignored if the
__experimental.fileTypes.email.renderMeetingInfo
parameter is set to true.
The Sent
header value will be composed by concatenating the message's sent date, time and time zone, separated by whitespaces. If fileTypes.email.timeZoneFormat
is an empty string, the time zone will not be displayed as part of the Sent
header value.
See Configure Date and Time Headers in Email Documents for additional details.
Supported Values: Must be a string containing zero or more of the following substitution patterns:
z
: short time zone name, e.g. "PST"zzzz
: full time zone name, e.g. "Pacific Standard Time"xxx
: time zone offset with hour and minute separated by a colon, e.g. "+03:00".
The format string may also contain whitespaces and fragments of arbitrary text surrounded by single quotes.
Default Value: '(UTC'xxx')'
fileTypes.email.dateTimeLocale
Specifies a locale for displaying the date and time in email headers.
NOTE: This parameter only affects the locale of date values, and does not affect email header names, such as “To” and “From”.
NOTE: PrizmDoc will use a supported locale that best matches the specified tag. Exact match is not guaranteed. When setting a specific locale, make sure PrizmDoc displays email headers according to your expectation.
NOTE: Setting an incorrect language tag will cause the locale to default to English (en-US) and abbreviate the names of the months and days of the week.
NOTE: This parameter will be ignored if the
__experimental.fileTypes.email.renderMeetingInfo
parameter is set to true.
The Sent
header value will be composed by concatenating the message's sent date, time and time zone, separated by whitespaces.
See Configure Date and Time Headers in Email Documents for additional details.
Supported Values: Must be a valid IETF BCP 47 language tag.
Default Value: en-US
fileTypes.email.renderEmailAddresses
Specifies whether to display email addresses in the "From", "To", "CC", or "BCC" fields of the header in email documents.
NOTE: An email address won't be displayed alongside the user name in a header if the related field isn't listed in the array.
Supported Values: Must be an array containing zero or more of the following strings:
from
: whether to render email addresses in the “From” header fieldto
: whether to render email addresses in the “To” header fieldbcc
: whether to render email addresses in the “BCC” header fieldcc
: whether to render email addresses in the “CC” header field
Default Value: []
fileTypes.email.renderHeaders
Specifies whether to display email headers when rendering email documents.
Supported Values: Must be one of the following strings:
auto
: Default value. PrizmDoc will display the following email headers if they are present in the email document: From, Subject, To, CC, BCC, Sent, Attached.
NOTE: If the
__experimental.fileTypes.email.renderMeetingInfo
Central Configuration parameter is set to true, PrizmDoc will also display the meeting information headers.
none
: PrizmDoc will display just the email body without email headers.
Default Value: auto
fileTypes.excel.columns.autofit.enabled
Specifies whether or not to automatically adjust the width of the cells when viewing Excel documents in MSO rendering mode. Set to true
to prevent cells content from being truncated.
Supported Values: true
, false
Default Value: false
fileTypes.excel.margins.mode
Controls how the page margins should be handled in Excel documents.
preserve
- Preserve (do not remove) document page margins. Requires that fileTypes.excel.pagination.dimensions.mode
be set to preserve
and the Office documents renderer be set to Microsoft Office (see fidelity.msOfficeDocumentsRenderer
for more details).
remove
- Remove all margins from the document pages. Requires that fileTypes.excel.pagination.dimensions.mode
be set to override
.
NOTE: Changing this setting can affect rendered layout and page count.
NOTE: For PrizmDoc Cloud, the default value for
fileTypes.excel.margins.mode
ispreserve
.
Supported Values: One of the following strings: preserve
, remove
Default Value: remove
fileTypes.excel.pagination.dimensions.maxHeight
Controls the maximum page height for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode
is set to override
.
NOTE: The maximum page height is
34.0in
.
Supported Values: String consisting of a positive number followed by in
Default Value: 17.0in
fileTypes.excel.pagination.dimensions.maxWidth
Controls the maximum page width for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode
is set to override
.
NOTE: The maximum page width is
44.0in
.
Supported Values: String consisting of a positive number followed by in
Default Value: 22.0in
fileTypes.excel.pagination.dimensions.minHeight
Controls the minimum page height for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode
is set to override
.
Supported Values: String consisting of a positive number followed by in
Default Value: 8.5in
fileTypes.excel.pagination.dimensions.minWidth
Controls the minimum page width for pagination of Excel files when fileTypes.excel.pagination.dimensions.mode
is set to override
.
Supported Values: String consisting of a positive number followed by in
Default Value: 11.0in
fileTypes.excel.pagination.dimensions.mode
Controls which pagination mode to use if pagination is enabled for Excel documents (fileTypes.excel.pagination.enabled
is set to true
).
preserve
- Use the page dimensions specified in the Excel file. Requires that fileTypes.excel.margins.mode
be set to preserve
and the Office documents renderer to be set to Microsoft Office (see fidelity.msOfficeDocumentsRenderer
for more details).
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.margins.mode
be set to remove
.
NOTE: For PrizmDoc Cloud, the default value for
fileTypes.excel.pagination.dimensions.mode
ispreserve
.
Supported Values: One of the following strings: preserve
, override
Default Value: override
fileTypes.excel.pagination.enabled
Controls whether or not pagination is enabled for Excel documents.
true
(paginated mode) - Each Excel sheet is divided into a number of pages, such that each page fits into a specific size.
false
(non-paginated mode) - Each Excel sheet, irrespective of its size, is rendered onto a single page. If the number of columns and/or rows is large, then this might result in very small and unreadable output.
NOTE: Changing this setting can affect rendered layout and page count.
Supported Values: true
, false
Default Value: true
fileTypes.excel.renderGridlines
Specifies how the gridlines of Excel worksheets should be rendered:
-
render
- (Default) Force rendering of the gridlines in the document. Gridlines will be rendered forcefully, regardless of their presence in the document settings. -
preserve
- Preserve gridlines in the document as is. Gridlines would be rendered, if they are defined in the document settings, and will not be rendered if they are not defined in the document settings. -
hide
- Disable rendering of the gridlines in the document. Gridlines would not be rendered, regardless of their presence in the document settings.
Supported Values: render
, preserve
, hide
_NOTE: The values
true
andfalse
are DEPRECATED: instead oftrue
, userender
; instead offalse
, usehide
.__
Default Value: render
fileTypes.excel.renderHeadersAndFooters
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 headers and footers, a space for headers and footers shall be reserved when rendering an Excel document.
Supported Values: true
, false
Default Value: true
fileTypes.excel.renderHiddenContent
Specifies whether or not the hidden rows, hidden columns, and whole spreadsheets that are hidden in the original Excel workbook are to be rendered.
Supported Values: true
, false
Default Value: true
fileTypes.excel.renderOnlyPrintArea
Specifies whether the print areas defined in Excel workbooks 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.
NOTE: For PrizmDoc Cloud, the default value for
fileTypes.excel.renderOnlyPrintArea
istrue
.
Supported Values: true
, false
Default Value: false
fileTypes.excel.rows.autofit.enabled
Specifies whether or not to automatically adjust the height of the cells when viewing Excel documents in MSO rendering mode. Set to true
to prevent cells content from being truncated.
Supported Values: true
, false
Default Value: false
fileTypes.excel.formulas.autocalculate.enabled
Specifies whether or not to automatically recalculate the formulas of the cells when viewing Excel documents in MSO rendering mode. Set to false
to prevent cells formulas from being automatically recalculated and preserve their original values.
NOTE: For PrizmDoc Cloud, the default value for
fileTypes.excel.formulas.autocalculate.enabled
isfalse
.
Supported Values: true
, false
Default Value: true
fileTypes.heif.enabled
Controls whether or not the High Efficiency Image File Format (HEIF, HEIC) support is enabled for viewing, redaction, and conversion to JPG/JPEG, PDF, PNG, SVG, and TIFF formats.
ATTENTION: If this feature is enabled, you or your organization will be responsible for obtaining the required third-party patent licenses for distribution of PrizmDoc Viewer with the enabled HEIF/HEIC feature. Accusoft is unable to obtain a transferable license to give to customers. Customers must obtain it directly.
Supported Values: true
, false
Default Value: false
fileTypes.office.disableExternalHyperlinks
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.
Supported Values: true
, false
Default Value: false
fileTypes.pdf.pageBoundaries
Controls which set of page boundaries should be used when interacting with PDF files. The PDF format specification defines five separate "Page Boundaries" that control various aspects of the imaging process. PrizmDoc Server supports mediaBox
or cropBox
to convert a source PDF document image.
Supported Values: One of the following strings: mediaBox
, cropBox
Default Value: mediaBox
Enable Pre-Conversion to PDF
DEPRECATION NOTICE: The "v3" viewing packages REST APIs have been deprecated and will be removed in a future release.
This section is for configuring the "v3" Viewing Packages which allow developers to convert documents (in any of the formats supported by PrizmDoc Server) to PDF and cache them for subsequent use.
NOTE: These "v3" viewing packages are not usable by the PrizmDoc Viewer client. To enable developers to create viewing packages for the PrizmDoc Viewer client, configure the older "v2" viewing packages feature in PAS instead.
viewingPackagesArtifacts.path
Prefix to append to the name of all S3 objects created. You can think of this as the "directory" in which all viewing package artifacts should be stored in your S3 bucket. Must not begin with /
and must not end with /
.
Supported Values: -
Default Value: ""
viewingPackagesArtifacts.s3BucketName
Name of the S3 bucket where viewing package artifacts should be stored.
Supported Values: -
Default Value: ""
viewingPackagesArtifacts.storage
Viewing Packages artifact storage type. Must be one of the following values:
-
none
- Do not store viewing package artifacts (the v3 viewing packages REST APIs will be disabled). -
s3
- Store viewing package artifacts in S3.
When used, viewingPackagesArtifacts.s3BucketName
and viewingPackagesArtifacts.path
parameters must be defined and viewingPackagesMetadata.storage
must be set to database
.
Supported Values: One of the following strings: none
or s3
Default Value: none
viewingPackagesMetadata.storage
Viewing Packages metadata storage type. Must be one of the following values:
-
none
- Do not store viewing package metadata (the "v3" viewing package REST APIs will be disabled). -
database
- Store viewing package metadata in the central database.
When used, database.connectionString
parameter must be defined and viewingPackagesArtifacts.storage
must be set to s3
.
Supported Values: One of the following strings: none
or database
Default Value: none
JVM Options
eps.jvm.opts
Java Virtual Machine settings to use when starting Email Processing Service.
Examples:
-
"-Xms2G -Xmx5G" - Set initial JVM heap size to 2G and max heap size to 5G.
-
"-XX:MaxRAMPercentage=50.0 -XX:+UseG1GC" - Set dynamic JVM heap size and use G1GC garbage collector.
Supported Values: One or more options supported by JVM
Default Value: ""
pdfps.jvm.opts
Java Virtual Machine settings to use when starting PDF Processing Service.
Examples:
-
-Xms2G -Xmx5G
- Set initial JVM heap size to 2G and max heap size to 5G. -
-XX:MaxRAMPercentage=50.0 -XX:+UseG1GC
- Set dynamic JVM heap size and use G1GC garbage collector.
Supported Values: One or more options supported by JVM
Default Value: ""
License
license.key
PrizmDoc Server license key.
Supported Values: Valid license key string
Default Value: None (Required)
license.solutionName
PrizmDoc Server solution name.
Supported Values: Valid solution name string
Default Value: None (Required)
Logging
logging.daysToKeep
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:
- AutoRedactionService.log
- FormatDetectionService.log
- HTMLConversionService.log
- OfficeConversionService.log
- PDFConversionService.log
- RasterConversionService.log
- VectorConversionService.log
logging.directory
Directory where all log files will be stored. PrizmDoc Server is made up of several different processes, each of which create and maintain their own logs. The logs are invaluable for diagnosing issues with PrizmDoc Server if they arise. If you find yourself in this situation, please see the topic Packaging Log Files for Product Support to expedite your support request.
Supported Values: Any valid path to a directory with write permissions.
NOTE: When using PrizmDoc Docker containers, we recommend that you keep this property unchanged.
Default Value: Windows: <install_dir>/logs; Docker: /logs
For example:
- Windows: C:\Prizm\logs
- Docker: /logs
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\logs'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\logs"
Network
network.binding.addresses
When set to any
, PrizmDoc Server will accept public and cluster port connections on the unspecified IPv6 address (::) when IPv6 is available, or the unspecified IPv4 address (0.0.0.0) otherwise.
When set to a list of addresses, PrizmDoc will accept public and cluster port connections on the specified addresses.
Supported Values: String any
or a list of IPv4 and/or IPv6 addresses.
NOTE: The PrizmDoc LoadBalancer additionally binds itself to the loopback interface (127.0.0.1), even if network.binding.addresses does not explicitly include 127.0.0.1 as a binding address.
Default Value: any
network.clustering.clusterPort
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.
Supported Values: Any open HTTP port on the server
Default Value: -
network.clustering.enabled
Set to true to enable cluster mode.
Supported Values: true
, false
Default Value: false
network.clustering.servers
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.
When the network.clustering.scheme
is set to https
, or network.publicScheme
is set to https
and network.clustering.scheme
is set to the default auto
value, server addresses specified here must match the Common Name or a Subject Alternative Name specified in the corresponding server's certificate. On production servers, this usually means using fully qualified domain names of your servers.
For example:
- network.clustering.servers: ["192.168.0.1","192.168.0.2"]
- network.clustering.servers: ["server1.mycompany.net","server2.mycompany.net"]
NOTE: When using PrizmDoc Docker containers in Kubernetes, we recommend that you use the PrizmDoc Cluster Manager to take care of the server list at runtime.
Supported Values: Array containing hostnames or IP addresses of other servers within the cluster
Default Value: -
network.clustering.scheme
The scheme used to route requests to other servers in the cluster. Must be one of the following values:
-
auto
- Default value. PrizmDoc will use the same scheme as specified by thenetwork.publicScheme
central configuration parameter. -
http
- PrizmDoc will use the http scheme for connecting to other servers in the cluster.NOTE: this mode is only supported when
network.publicScheme
central configuration parameter is set to "http". -
https
- PrizmDoc will use the https scheme for connecting to other servers in the cluster.
NOTE: This parameter only affects the way that the server routes requests to other servers in the cluster, but does not make the server support HTTPS protocol for incoming requests. On Windows, set
network.publicScheme
central configuration parameter tohttps
to make the server accept incoming HTTPS requests. When using Docker, you will need to set up a reverse proxy on each PrizmDoc instance, and use it as an HTTPS terminator for that instance. See Security Guidance for more details.
network.publicScheme
The scheme used to serve public API requests as well as requests from other servers in the cluster. When set to https
, network.certificateFile
and network.certificateKeyFile
must also be defined.
-
http
- Default value. PrizmDoc will use the http scheme to serve public API requests and requests from other servers in the cluster. -
https
- PrizmDoc will use the https scheme to serve public API requests and requests from other servers in the cluster.
Supported Values: One of the following strings: http
, https
Default Value: http
NOTE: This parameter is currently only supported on Windows. When using Docker, you will need to set up a reverse proxy on each PrizmDoc instance instead, and use it as an HTTPS terminator for that instance.
network.certificateFile
Path to the TLS certificate file. Required if network.publicScheme
is https
, and ignored otherwise.
Supported Values: A valid file path
Default Value: ""
For example:
- Windows: C:\Config\MyCertificate.cer
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\MyCertificate.cer'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\MyCertificate.cer"
network.certificateKeyFile
Path to the private key which matches the certificate specified by network.certificateFile
. Ignored if network.publicScheme
is not https
.
If the private key is encrypted, use network.certificatePassphraseFile
to specify the path to the file that contains passphrases for the private key.
Supported Values: A valid file path
Default Value: ""
For example:
- Windows: C:\Config\MyCertPrivate.key
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\MyCertPrivate.key'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\MyCertPrivate.key"
network.certificatePassphraseFile
Path to the file that contains passphrases for the private key specified in the network.certificateKeyFile
. Passphrases should be listed one per line and will be tried in the order they appear in the file. Mapped network drives and UNC paths are not supported. If you need to use a file which is located on a network drive, consider creating a local symbolic link to the remote file. Please make sure that the PrizmDoc Windows Service account has "Read" permission on the network shared folder.
Supported Values: A valid file path
Default Value: ""
For example:
- Windows: C:\Config\MyCertPassphrases.txt
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\MyCertPassphrases.txt'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\MyCertPassphrases.txt"
network.internalStartingPort
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.
Supported Values: Any open HTTP port on the server
Default Value: None (Required)
network.publicPort
The public port the REST API will be available on. The chosen port must be accessible by all servers that need to call the PrizmDoc Viewer APIs.
Supported Values: Any open HTTP port on the server.
NOTE: When using PrizmDoc Docker containers, make sure this port is exposed by the container.
Default Value: None (Required)
Process Ids
processIds.lifetime
The length of time that a redaction creator, markup burner, content converter, form extractor, search context, search task, or plain text redactor process remains usable. Please see the topic Implement Caching Strategies for more details.
Supported Values: Formatted Value. 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.
Default Value: 20m
NOTE: For PrizmDoc Cloud, the default value for
processIds.lifetime
is5h
.
Resource Usage
resourceUsage.ocs.numInstances
The number of LibreOffice 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.
Supported Values: Any integer greater than 0, or the string auto
Default Value: auto
resourceUsage.ocs.numPorts
The number of ports which can be used internally for communication with the LibreOffice 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.
Supported Values: Any integer greater than 0
, or the string auto
Default Value: auto
resourceUsage.ocs.numThreads
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.
Supported Values: Any integer greater than 0
, or the string auto
Default Value: auto
resourceUsage.pccis.instances
The number of PCCIS ASP.NET application instances to run concurrently.
Supported Values: Any integer greater than 0
Default Value: 3
Security
security.aesEncryption.iv
The AES encryption initialization vector (iv) used to create external viewing session IDs.
Supported Values: Base64 encoded value of a byte array representing an AES initialization vector with a size of 128 bits.
Default Value: jTN2XBjybtfA2fpsv6mylQ==
security.aesEncryption.key
The AES encryption key used to create external viewing session IDs. The external viewing session ID is an 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 theAuth-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 need to store an authorization token for each viewing session a proxy might need.
See PrizmDoc Cluster Management for more details.
Supported Values: Base64 encoded value of a byte array representing an AES key with a size of 128, 192 or 256 bits.
Default Value: E9rU73lZ2vd0he8Ls/hD8A==
security.externalContent.requireHttps
Specifies whether to require the use of the HTTPS protocol for the external content, such as external images in HTML or email documents, external watermarks, or URLs provided for the creation of viewing sessions.
NOTE: The layout of documents (where external content uses HTTP URLs and is not available via HTTPS) may change when you set this parameter to
true
.
NOTE: Setting this option to
true
is only allowed when using the LibreOffice rendering engine. If you are using the MSO rendering engine and need all external requests to use the HTTPS protocol, you will need to block non-HTTPS requests outside of PrizmDoc. See Security Guidance for details.
If a URL uses the HTTP scheme, an attempt would be made to access it via HTTPS, except for the case mentioned below:
NOTE: When using the LibreOffice rendering engine, PrizmDoc blocks requests for external content in Office documents and email documents that use RTF bodies, for both HTTP and HTTPS protocols.
Supported Values: true
, false
Default Value: false
security.htmlRendering.blockExternalContent
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.
NOTE: If you change the
security.htmlRendering.blockExternalContent
setting, you must clear your cache in order for the new settings to take effect on files previously converted with the old rendering mode.
-
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. See the Security Guidance page for more details. -
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.
Supported Values: true
, false
Default Value: false
User Documents
userDocuments.directory
A directory that contains your documents for use when the documentSource
viewing session property is set to file
.
Supported Values: Any valid path to a directory with read permissions.
Default Value: Windows: <install_dir>/cache/UserDocuments; Docker: /data/cache/userDocuments
For example:
- Windows: C:\Prizm\cache\UserDocuments
- Docker: /data/cache/UserDocuments
Paths that contain environment variables must be quoted. When using double quotes, escape the backslashes:
- '%ALLUSERSPROFILE%\Accusoft\Prizm\cache\UserDocuments'
- "%ALLUSERSPROFILE%\\Accusoft\\Prizm\\cache\\UserDocuments"
NOTE: When using PrizmDoc Docker containers, we recommend that you keep this property unchanged.
Viewing
viewing.allowDocumentDownload
Controls whether or not the REST API will accept requests to download the source document for a given viewing session.
Supported Values: true
, false
Default Value: false
viewing.cacheLifetime
The length of time that a document is cached and can be potentially reused by other new viewing sessions.
Supported Values: Formatted Value. 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. Please see the topic Implement Caching Strategies for more details.
NOTE: If the amount of time specified by
viewing.cacheLifetime
is shorter than the amount of time specified byviewing.sessionConstraints.minSecondsAvailable.max
, theviewing.cacheLifetime
will be changed at runtime to match the amount of time specified byviewing.sessionConstraints.minSecondsAvailable.max
. If you change this value to decrease the cache lifetime, make sure that you also adjust theviewing.sessionConstraints.minSecondsAvailable.max
value to represent the same or shorter amount of time.
NOTE: For PrizmDoc Cloud, the default value for
viewing.cacheLifetime
is43h
.
Default Value: 1d
viewing.contentEncryption.enabled
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 (Digital Rights Management), making it more difficult to copy protected content that has been delivered to the browser.
Supported Values: true
, false
Default Value: false
viewing.maxNumberOfPages
Defines the maximum number of pages that would be available for viewing. Pages over this number will report an error when trying to view them.
Supported Values: Any positive number
Default Value: 10000
viewing.sessionConstraints.countOfInitialPages.max
Maximum allowed value for the countOfInitialPages
JSON property when creating a new viewing session. Together with viewing.sessionConstraints.countOfInitialPages.min
creates a range filter that will be applied 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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: Any natural number not less than viewing.sessionConstraints.countOfInitialPages.min
Default Value: 10
viewing.sessionConstraints.countOfInitialPages.min
Minimum allowed value for the countOfInitialPages
JSON property when creating a new viewing session. Together with viewing.sessionConstraints.countOfInitialPages.max
creates a range filter that will be applied 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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: Any natural number
Default Value: 0
viewing.sessionConstraints.documentExtension.regex
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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: Valid regular expression using the .NET Regular Expression Language
Default Value: .*
viewing.sessionConstraints.documentSource.allowedValues
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 needing 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 for preventing mistaken or malicious values from being sent that could affect server behavior.
NOTE: For PrizmDoc Cloud, the default value for
viewing.sessionConstraints.documentSource.allowedValues
isapi
.
Supported Values: Array which contains one or more of the following strings: api
, http
, file
Default Value: [api
,http
]
viewing.sessionConstraints.externalId.regex
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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: Valid regular expression using the .NET Regular Expression Language
Default Value: .*
viewing.sessionConstraints.minSecondsAvailable.max
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 0
, the ViewingSession timeout will be used for validation of the minSecondsAvailable
option in the POST /ViewingSession
. The default will be 86400
seconds (1 day).
Supported Values: Any integer greater than 0
Default Value: 86400
viewing.sessionConstraints.pageContentEncryption.allowedValues
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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: An array with either one or all of the following strings: default
, enabled
, disabled
Default Value: [default
]
viewing.sessionConstraints.render.alwaysUseRaster.allowedValues
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. See the Viewing Sessions and PAS Viewing Sessions topics for more information.
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 for preventing mistaken or malicious values from being sent that could affect server behavior.
Supported Values: An array with one or more of the following values: true
, false
Default Value: [false
]
viewing.sessionConstraints.serverCaching.allowedValues
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 for preventing mistaken or malicious values from being sent that could affect server behavior. Please see the topic Implement Caching Strategies for more details.
Supported Values: An array with one or more of the following strings: none
, full
Default Value: [none
,full
]
viewing.sessionLifetime
The length of time that a viewing session remains usable.
NOTE: For PrizmDoc Cloud, the default value for
viewing.sessionLifetime
is5h
.
Supported Values: Formatted Value. 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. Please see the topic Implement Caching Strategies for more details.
Default Value: 20m
Work Files
workFiles.directory
Directory where work files are stored. This should be set to a non-shared location.
Supported Values: Any valid path to a directory with read and write permissions.
Default Value: cache.directory/WorkFileCache
NOTE: When using PrizmDoc Docker containers, we recommend that you keep this property unchanged.
workFiles.lifetime
The length of time that a workfile remains usable.
Supported Values: Formatted Value. 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. Please see the topic Implement Caching Strategies for more details.
Default Value: 1d
workFiles.sharedStorage.type
Shared storage type for work files. When enabled, the WorkFile Service will store the workfile's metadata in the MySQL database, and the workfile in the AWS S3 bucket.
Supported Values: none
, s3
. The s3
value means store a copy of each work file in the specified AWS S3 bucket which makes it available to other servers in the PrizmDoc Server Cluster. When used, workFiles.sharedStorage.s3BucketName
, workFiles.sharedStorage.path
and database.connectionString
parameters must be defined, otherwise the PrizmDoc Server will go into an unhealthy state.
Default Value: none
workFiles.sharedStorage.s3BucketName
Name of the S3 bucket where work files should be stored, if the workFiles.sharedStorage.type
parameter is set to "s3".
Supported Values: Any non-empty string.
Default Value: ""
workFiles.sharedStorage.path
Prefix to append to the name of all S3 objects created for uploaded work files, if the workFiles.sharedStorage.type
parameter is set to s3
. You can think of this as a directory in which all work files should be stored in your S3 bucket.
Supported Values: Any non-empty string that must not begin with "/" and must not end with "/".
Default Value: ""
workFiles.external.file.directory
Directory on the external filesystem storage to be treated as the root for creating work files from local file paths.
Supported Values:
An absolute path in the PrizmDoc Server container’s file system. You will need to map this path to an external storage path when creating the container. Make sure the container’s user has "Read" access to this path.
'/mnt/my-company'
An absolute Windows path. Mapped Windows network drives are not supported, please use UNC Windows paths instead.
'C:\Prizm\Samples\Documents\my-company'
An UNC Windows path. Please make sure that the Prizm Windows Service account has "Read" permission on the network shared folder.
'\\server\share\my-company'
Default Value: ""
NOTE: By default, work files cannot be created from local paths.
NOTE: Only the PrizmDoc Video REST API can create work files from local file paths and use them. Such work files are not supported by any other PrizmDoc APIs.
PrizmDoc Cloud Default Values
PrizmDoc Cloud uses specific default values that differ from self-hosted default values as noted below:
fidelity.msOfficeDocumentsRenderer
:msoffice
fileTypes.excel.margins.mode
:preserve
fileTypes.excel.pagination.dimensions.mode
:preserve
fileTypes.excel.renderOnlyPrintArea
:true
processIds.lifetime
:5h
sourceDocuments.maxAllowedNumberOfPages
:5000
viewing.cacheLifetime
:43h
viewing.sessionConstraints.documentSource.allowedValues
:api
viewing.sessionLifetime
:5h