PrizmDoc® Viewer v13.28 Release - Updated
PrizmDoc Viewer / Administrator Guide / PrizmDoc Server / Configuring / Central Configuration
In This Topic
    Central Configuration
    In This Topic

    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

    1. 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.
    2. 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 is msoffice.

    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 year
    • yyyy: four digit representation of the year
    • M: one or two digit number of the month in year, not zero padded
    • MM: one or two digit number of the month in year, zero padded
    • MMM: name of the month in year, abbreviated to three letters
    • MMMM: name of the month in year, not abbreviated
    • d: day in month, not zero padded
    • dd: day in month, zero padded
    • EEE: day name in week, abbreviated to three letters
    • EEEE: 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-padded
    • HH: hour in day (0-23), zero-padded
    • h: hour in am/pm (1-12), not zero-padded
    • hh: hour in am/pm (1-12), zero-padded
    • mm: minute in hour, zero-padded
    • ss: second in minute, zero-padded
    • a: 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 as US/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, if fileTypes.email.timeZone is set to US/Eastern, the Sent header of an email sent at 15:00 January 1, 2023 US/Eastern time will display as January 1, 2023 3:00 PM (UTC-05:00), while the Sent header of an email sent at 15:00 July 1, 2023 US/Eastern time will display as July 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 field
    • to: whether to render email addresses in the “To” header field
    • bcc: whether to render email addresses in the “BCC” header field
    • cc: 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 is preserve.

    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 is preserve.

    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 and false are DEPRECATED: instead of true, use render; instead of false, use hide.__

    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 is true.

    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 is false.

    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 the network.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 to https 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 is 5h.

    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 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 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 by viewing.sessionConstraints.minSecondsAvailable.max, the viewing.cacheLifetime will be changed at runtime to match the amount of time specified by viewing.sessionConstraints.minSecondsAvailable.max. If you change this value to decrease the cache lifetime, make sure that you also adjust the viewing.sessionConstraints.minSecondsAvailable.max value to represent the same or shorter amount of time.

    NOTE: For PrizmDoc Cloud, the default value for viewing.cacheLifetime is 43h.

    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.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 is api.

    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 is 5h.

    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