Technical FAQs for "PrizmDoc Viewer"


Can European/CJK character sets be auto-redacted in PrizmDoc?


In general, if PrizmDoc is able to extract text from the document, it is able to do a redaction. There are no known issues with auto/manual redaction except OCR’d “text over image” documents. For these documents, image text may have a different location or height/width in comparison to the text recognition result included in that document as well. A redaction will be applied to the text, but the underlying text on the image can still be visible.


How can I tell which server has the cache for a specific document in a clustered PrizmDoc environment?


When a document is viewed, it creates a Viewing Session ID. That Viewing Session ID has information regarding which server in the cluster is doing the work, however, it is encoded and cannot be read directly.

In order to determine which PrizmDoc cluster server is doing the work for a specific document in a specific viewing session, you can do a text search for the Viewing Session ID in the plb.sep_multi.log on all servers. Only one server in the cluster will be a match for that Viewing Session ID.


When trying to create a viewing session directory to the PrizmDoc back end over port 18681:

(POST http://prizmserver:18681/PCCIS/V1/ViewingSession)

why am I receiving a 500 internal server error?


There are some troubleshooting steps below you can take to verify the health of the server as well as ensure the API call you are making is properly formatted.

  1. Verify the Prizm service is healthy by opening a browser on the Prizm server and using the following service health check URL (http://localhost:18681/admin)
  2. Verify your POST command has all the required elements which can be verified in detail on the following documentation page:


When selecting download and including annotations, the resulting PDF does not include the comments. How can we obtain the file as a PDF with the annotation comments included?


By design, when using the download button, the comments to the annotations are not included in the download.


  1. Under the View tab, select Print.
  2. From the Print dialog, select the More options drop-down.
  3. Under the Comments section, select either After Each Page or At End of Document.
  4. When selecting a printer, use the Print to PDF option and it will create a PDF with the comments included.

We are planning to upgrade our PrizmDoc Server and PrizmDoc Client to the latest major version. What is the best practice for doing so?


For best results, you will want to follow the instructions below to ensure the cleanest upgrade of the newest version:

NOTE: Before starting, make a backup of the following configuration files for use as reference when re-configuring your new version installation. This should be done before the PrizmDoc installer is run, as all configuration files will be replaced with new ones (resetting them to their default configuration).

  • Prizm Server Configuration: prizm\prizm-services-config.yml

  • Prizm Client Configuration (Windows): prizm\pas\

  • Prizm Client Configuration (Linux): /usr/share/prizm/pas/pcc.nix.yml

  • ServiceHost Configuration: prizm\PCCIS\ServiceHost\pcc.config

How To:

  1. Uninstall the previous version of PrizmDoc Server and PrizmDoc Client. Be sure to delete all PrizmDoc folders that are still present. For Windows you can Find PrizmDoc Server and Prizm Client under Add/Remove Programs. For Linux, please follow instructions below for uninstall instructions.

Linux Prizm/PAS Service Uninstall:

  1. Download the latest version of PrizmDoc for your operating system from

  2. Install PrizmDoc Server first and then the PrizmDoc Client.

  3. At the end of the server installation, the install may request a reboot.

  4. Make a backup of your new configuration files as listed above.

  5. Modify each of the new configuration files and make the same changes as you did in the older configuration files.

NOTE: Do not just replace the new configuration files with the old version configuration files, as new configurations may have been introduced in the new version and they would be lost.

  1. Restart the Prizm Services and Prizm Application Services to ensure the newly configured file changes take affect.

NOTE: If either service fails to start with an error after modifying the configuration files, replace the configuration files with the original copy of the configuration files and try making the changes again.

NOTE: If you are using viewing packages and have an existing database, we provide additional scripts in the \prizm\pas\db folder to modify your existing database. For example, upgrading from PrizmDoc 12.x to PrizmDoc 13.x we provide an additional script addTenantId to add a new field to one of the existing tables.


We wanted to upgrade our previous version of PrizmDoc to the most recent release. However, when trying to install the latest version, the installation is failing. What do I need to do to get the latest version installed?


Typically, this issue may occur if you are upgrading from an older major version to a new major version, such as from PrizmDoc 11 to PrizmDoc 12 or PrizmDoc 13. If you are upgrading from one minor version to another, such as PrizmDoc 13.1 to PrizmDoc 13.6, then it should be seamless.

If you do have issues in either circumstance, it is usually due to files, folders, or registry settings that were left behind from the older version.

In order to fix the installation, please follow the process below to ensure the previous version is completely removed.

  1. Ensure previous installation folders are deleted:

    \Prizm and \ProgramData\Accusoft.

  2. Back-up your Windows registry, and then click on Start > Run, and type in regedit

  3. Click Edit and select Find, and then type Prizm

  4. When it finds a match, right-click on the registry key and select Delete

  5. Click F3 to find the next match, and repeat Step 4 for each key.

  6. Repeat Step 5 until the search comes back with “Finished Searching Registry”

  7. Reboot Server and attempt to re-install.


In the PrizmDoc Viewer, what are the two different ways to load annotation layers?


PrizmDoc has two options for loading annotations, the “My Annotations” pane and the “Annotations for Review” pane.

The “My Annotations” pane is used to load a single annotation layer for editing. You can add, delete, or make changes to annotations and then save those changes using the “My Annotations” pane.

The “Annotations for Review” pane is used for viewing annotations. You can load as many annotation layers for viewing as you would like. You cannot interact with annotations loaded in this way, but you are able to make comments on them. You can toggle between any of these layers to hide them. You can also merge these annotations to the currently loaded annotation layer from “My Annotations”.

For more information see our documentation here:


I know the coordinates and dimensions of the content I would like to highlight, but the highlight annotation only works on text. Is there a way to create an annotation that highlights a specific area of a document?


The best way to do this would be to create a yellow rectangle annotation with 50% opacity (these are the same default values used by the text highlight annotation). The code below demonstrates how to do this in the viewer:

//Create a new rectangle annotation
var rectangleMark = viewer.viewerControl.addMark(1,  PCCViewer.Mark.Type.RectangleAnnotation);
//Set the coordinates and dimensions of the annotation
rectangleMark.setRectangle({x: 100, y:  100,  width : 200, height: 200});
//Set fillcolor to yellow
//Remove the border
//Set opacity to 50%

We are interested to know how well the cloud offering
scales. For example, can we process thousands of transactions per second? Is there a limit to the number of transactions that we can use


The limitation will vary depending on the size of the documents and the type of work being performed on them.

PrizmDoc Cloud utilizes AWS servers to scale our services as demand increases, and we do currently rate limit total requests which should not exceed 100 requests within an eight second window. The window is rechecked every four seconds to determine if the rate limit is still in excess.


I need to store a unique ID with each of my marks. Is the ID returned by Mark.GetID() unique?


The ID generated by Mark.GetID() is only unique for that instance of the viewing session (for example, if you refresh the page, the counter for mark IDs will reset to 1).

If you are saving your marks to markup layers using the SaveMarkupLayers() method, then each mark will have a unique ID generated which will be stored in the “uid” key in the markup layer JSON.

If you are saving your marks as XML, using the SaveMarks() method, then each mark’s unique ID will be stored in the key “nodeId”.

If you want to generate your own unique ID for your marks, you can include the code below in your viewer.js to generate a UUID. A UUID contains 122 randomly generated bits so you shouldn’t need to worry about any duplicate IDs:

    function uuidv4() {
      return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
        (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)

You can store this UID in the marks data using Mark.SetData("ID", uuidv4());.

You can then use Mark.GetData("ID"); to retrieve the ID at a later time.


My document appears to be loading incorrectly. Are there any troubleshooting steps that I can take?


First, confirm that this is a document-specific issue by trying other documents of the same file type or documents of the same file type with similar size characteristics and content.

Second, if the document is a Microsoft Office document and you are using LibreOffice as your backend renderer, you can compare the way that the document displays in PrizmDoc against the way the document displays in the copy of LibreOffice shipped with PrizmDoc (C:\Prizm\libreoffice\program\soffice.exe on Windows, /usr/share/prizm/libreoffice/program/soffice on Linux). To inquire about the Microsoft Office renderer plugin, which may resolve office document rendering issues, send an email to

Third, reach out to a support technician at, as they will be able to quickly test how the document renders in the latest version of PrizmDoc, and consult the product engineers in the event that there is a rendering issue.

Have the following information handy, as it will help the support technician better assist you:

  • What version of PrizmDoc are you using?

  • What operating system are you using?

    • If Windows, are you using the LibreOffice or Microsoft Office backend renderer?
  • A PDF export or a screenshot of what you see in PrizmDoc, compared to a screenshot of how the document looks in its native file type viewer.

  • Log files that include the processing of the incorrectly loading document.

  • Any changes that you may have made to the PrizmDoc configuration files.


How can I determine what version of PrizmDoc Viewer my server is running?


To check the server version, make a GET request to:


You can make a get request by navigating to the URL in your browser. The JSON response will have a "pccisVersion" property, which is the version number you are looking for. A similar GET to the following URL will determine the PAS version:


The JSON response’s "version" property is what you are looking for. Keep in mind that differing version numbers don’t necessarily indicate a mismatch, as long as the major and minor version numbers sync-up. For example, the PCCIS version and PAS version 13.5.0000.1816 are from the same release (13.5).