Technical FAQs

Question

With PrizmDoc, how can I hide a predefined search if there are no results?

Answer

The predefined search option does not support that functionality, but you can instead perform a server-side search, and then activate the search panel if there are results to show:

var viewer;
var viewingSessionId = <%= viewingSessionId %>;

var fixedSearchTerm = "the";
var pasUrl = "/pas";

var viewerReady = false;
var searchReady = false;
var searchDisplayed = false;

function displaySearchIfNeeded() {
    // The search is only displayed once the viewer is ready, and once our preliminary server-side search comes back positive.
    if (viewerReady && searchReady && !searchDisplayed) {
        searchDisplayed = true;

        $("[data-pcc-search=\"input\"]").val(fixedSearchTerm);
        $("[data-pcc-search=\"submit\"]").click();
    }
}

function sendSearchPost() {
    $.ajax({
        "method": "POST",
        "url": pasUrl + "/v2/viewingSessions/" + viewingSessionId + "/searchTasks",
        "data": JSON.stringify({
            "input": {
                "searchTerms": [
                    {
                        "type": "simple",
                        "pattern": fixedSearchTerm,
                        "caseSensitive": false,
                        "termId": "0"
                    }
                ]
            }
        }),
        "contentType": "application/json",
        "success": function(response) {
            $.ajax({
                "url": pasUrl + "/v2/searchTasks/" + response["processId"] + "/results?limit=1",
                "success": function(response) {
                    if (response.results.length !== 0) {
                        searchReady = true;

                        displaySearchIfNeeded();
                    }
                },
            });
        },
        "error": function(jqXHR, textStatus, errorThrown) {
            if (jqXHR.status === 480) {
                setTimeout(sendSearchPost, 2000);
            }
        }
    });
};

setTimeout(sendSearchPost, 500);

$(document).ready(function() {
    // Since we are no longer restricted to a predefined search, we can load the viewer ASAP.
    viewer = $("#viewer").pccViewer({
        "documentID": viewingSessionId,
        "imageHandlerUrl": "/pas",
        "language": viewerCustomizations.languages["en-US"],
        "template": viewerCustomizations.template,
        "icons": viewerCustomizations.icons
    });

    viewer.viewerControl.on("ViewerReady", function(event) {
        viewerReady = true;

        displaySearchIfNeeded();
    });
});
Question

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

Answer

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\pcc.win.yml

  • 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:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#linux-uninstall-prizmdoc-serve.html

https://help.accusoft.com/PrizmDoc/v13.10/HTML/webframe.html#pas-linux-uninstallation.html

  1. Download the latest version of PrizmDoc for your operating system from https://www.accusoft.com/products/prizmdoc-suite/prizmdoc-viewer-builds/

  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.

Question

If I have a PDF document that only has an embedded image in it (no text objects, etc.), can PrizmDoc Viewer take it and create a searchable PDF file from it?

Answer

Yes. PrizmDoc’s Content Conversion Services can take an image-only PDF and create a searchable PDF file from it. This can be done by modifying the input.dest.pdfOptions.ocr options object; see our documentation here.

If you are attempting to make a searchable PDF from an existing PDF document, please note that the source PDF file should be an image-only PDF. PrizmDoc will not create a searchable file from already-existing vector content.

This feature was introduced in PrizmDoc 13.1, please see our Release Notes for more information.

Question

When using the PrizmDoc samples, the sample documents included are taking close to 1 minute to load in the viewer. The same also happens when uploading files into the sample.

The server processes are showing minimal impact on CPU and memory. However, the hard drive was spiking to 100% utilization sporadically.

Answer

We have found that Windows Defender with enabled Real-Time scanning can significantly impact performance. Once Real-Time scanning was disabled, we found this issue to be immediately resolved.

To disable Windows Defender, you can do the following:

  1. Right-click on the Windows Logo in the lower left-hand corner and select Control Panel.
  2. Select Windows Defender and then select Settings.
  3. Under the Real-Time protection section, slide the switch to Off.
Question

My document has Asian characters (CJK, etc.), which are not displaying correctly in PrizmDoc Viewer; what steps can I take to view them?

Answer

In some cases, the reason is due to the fonts not being installed on the operating system. We have outlined some commands to install fonts for select operating systems below:

In CentOS 6 do:

yum groupinstall "Chinese Support"
yum groupinstall "Japanese Support"
yum groupinstall "Korean Support"
yum groupinstall "Kannada Support"
yum groupinstall "Hindi Support"

In CentOS 7 do:

yum groupinstall "fonts"

In Ubuntu do:

sudo apt-get install language-pack-ja
sudo apt-get install japan*
sudo apt-get install language-pack-zh*
sudo apt-get install chinese*
sudo apt-get install language-pack-ko
sudo apt-get install korean*
sudo apt-get install fonts-arphic-ukai fonts-arphic-uming fonts-ipafont-mincho fonts-ipafont-gothic fonts-unfonts-core
Question

When viewing .csv files in PrizmDoc Viewer, the dates in the CSV file are in UK format (DD/MM/YYYY). However, if the DD is lower than 13 it is converted to US date format (MM/DD/YYYY).

Answer

Workaround:

The suggested workaround is to use Excel files instead of CSV to avoid this situation. Excel file format stores date/time format in the file.

Issue:

This is a bug in the MS Excel COM Interop that is being used by the product (MsOfficeConverter). Here is the related Excel bug: https://social.msdn.microsoft.com/Forums/vstudio/en-US/82248560-dabd-4c90-b1e2-793b2f32b257/excel-bug-handling-dates-in-csv-files-using-microsoftofficeinteropexcel?forum=exceldev

Problem description:

When using MS Excel Interop to open CSV files, all date/times there are being interpreted with “en-US” locale, regardless of actual system locale. Here is the description from the bug link above:

Excel interpreting dates when its reads csv files via .NET Interop. It is not a excel formatting issue per say. When excel accesses information such as dates (which are stored as numbers in memory to support arithmetic operations) from text files, it has to convert the date from textual representation (within the csv file, such as 2012-09-12) to the equivalent number in Excel memory (e.g. 41164 which represents 2012-09-12). When we use Interop to access this number in memory, many are interpreted incorrectly – swapping days with months and vice versa. This is a bug, as Excel is not abiding by the system culture on interpreting local date formats.

Question

After searching a document, an error icon appears in the search results panel. Clicking on it displays the following error message: “x page(s) cannot be searched.” Why does this occur and how can I find out which specific pages couldn’t be searched?

Answer

When the PrizmDoc Viewer text-service cannot find any text for a given page in the document, it provides an array of all the pages without text in the response from searchTask results.

In short, the document is fine and simply contains pages without text. If you look at the pagesWithoutText array contained within the response data from searchTasks, you’ll see something like this:

[0, 1, 7, 17, 43, 45, 65, 67, 77, 79,…]

The values reported are pages that do not contain any text but instead are either blank or contain an image. This data can then be used to inform the user of how many pages are not searchable.

Question

Is there a way to modify the colors used in PrizmDoc Viewer’s search results? In particular, the currently selected search result has a very similar color to the other results from the same term. Is there a way to increase the contrast?

Answer

Currently, we don’t support the ability to set anything other than the highlight color through the search API.

There is a feature request to enable such modifications:

https://ideas.accusoft.com/ideas/PDV-I-531

Question

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

Answer

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

http://localhost:18681/PCCIS/V1/Service/Current/Info

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:

http://localhost:3000/info

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 13.5.33.5696 and PAS version 13.5.0000.1816 are from the same release (13.5).

Question

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

Answer

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: https://help.accusoft.com/PrizmDoc/latest/HTML/Annotation_Layers.html

Question

How accurate is PrizmDoc Viewer’s auto-redaction process? Is there any estimate of the percentage of matches that it will fail to redact?

Answer

If you’re performing auto-redaction as described in our documentation, then all matches for the input regular expression will be redacted in the final document. However, it’s difficult to express that confidence in the form of a percentage. PrizmDoc is subjected to a suite of automatic testing to ensure that its services are behaving as intended, including redactions. We never release a new version unless it passes 100% of those tests.

That being said, the primary way that inaccuracy could enter the system is if you’re attempting to redact scanned documents that have been OCRed. In this case, it’s a matter of your OCR software’s accuracy, rather than the accuracy of PrizmDoc’s redaction process. If the searchable text of the document doesn’t accurately reflect the visible text on the page (for example, if a smudged “discovery” is incorrectly recognized as “disccvery”), then the auto-redaction will be unable to recognize it due to the incorrect input it has been given. This isn’t a problem if the documents were not OCRed.