Technical FAQs for "PrizmDoc"

Question

What are the different ways to iterate through and select redactions in PrizmDoc Viewer?

Answer

Method 1:
Use the mouse to manually select the redactions you want to work with.

Method 2:
With the advancedSearch feature enabled, perform a search of your document. The search will return a list of marks on the document that you can use to select redactions without having to manually locate where they are in the document.

Question

What ports need to be open on my server in order for PrizmDoc to function correctly?

Answer

PrizmDoc Server needs to be able to communicate internally over the following ports:

  • 18000
  • 18001
  • 19000-19199

And externally over 18681 (18682 if clustered).

Prizm Application Services (PAS) needs to be able to communicate externally over the following ports:

  • 3000
Question

Users want the ability to have all the documents that they view initially open with the same Zoom Percentage. How can I accomplish this?

Answer

Setting the zoom percentage is possible in PrizmDoc. You can listen in on the ScaleChanged event, which is triggered whenever your user changes the zoom level of the Viewer. For more information, refer to the EventType section of the PCCViewer help topic.

Then you could take that value, store it however you want, and use it to set the initial zoom factor of the page upon loading the Viewer using setScaleFactor. For more information and a code sample, refer to the Setting the Initial Zoom Factor help topic.

Question

When doing a text search in a document in PrizmDoc, the highlight color for the search results is a light blue background. Is there a way to change the highlight color for search results in the PrizmDoc Viewer?

Answer

You can change the highlight color specifically in the PrizmDoc Viewer file viewer.js file located in the viewer-assets\js folder of your project/application.

You will need to locate 2 instances of the search term “highlightColor: undefined” in the code block below located close to line 4400. The actual line number will vary depending on the version of viewer.js you are using. You can replace “undefined” with a hexadecimal color value which you can look up from the following site: https://htmlcolorcodes.com/

// This is a request for a new searchQuery triggered by the search input field.
// Generate new search terms, and save them globally.
prevMatchingOptions = _.clone(matchingOptions);

if (matchingOptions.exactPhrase) {
    // We need to match the exact string, as is
    if (queryString.length) {
        searchTerms.push({
            searchTerm: queryString,
            highlightColor: undefined,
            searchTermIsRegex: false,
            contextPadding: 25,
            matchingOptions: matchingOptions
        });
    }
} else {
    // Split up multiple words in the string into separate search term objects
    var queryArr = queryString.split(' ');
    queryArr = _.unique(queryArr);
    _.forEach(queryArr, function(query){
        if (query.length) {
            searchTerms.push({
                searchTerm: query,
                highlightColor: undefined,
                searchTermIsRegex: false,
                contextPadding: 25,
                matchingOptions: matchingOptions
            });
        }
    });
}         
Question

How can I change the PrizmDoc Viewer so that the TextSelection tool is selected by default instead of the Pan tool?

Answer

In order to select the TextSelection tool by default in PrizmDoc Viewer there are a few things you need to take into account. First, you have to click the button inside the embedViewer() function found in the index page of the sample. Second, the button for the text selection tool is actually disabled initially, so in order to be able to click it, the button has to be enabled first by removing the pcc-disabled class.

Use the following code to do this:

function embedViewer(options) {
    var viewer = $('#viewer1').pccViewer(options);
    viewer.viewerControl.on(PCCViewer.EventType.ViewerReady, function(viewer) {
        $("[data-pcc-mouse-tool=\"AccusoftSelectText\"]").removeClass('pcc-disabled');
        $("[data-pcc-mouse-tool=\"AccusoftSelectText\"]").click();            
    });
}
Question

I am a PrizmDoc Cloud customer and need to do content conversion with PrizmDoc. Do I have to do anything special to make it work?

Answer

Yes, in order to do content conversion as a PrizmDoc Cloud customer, there are a few things you need to do:

  1. Most of the information regarding how to use our content conversion service can be found here, including the requests that can be made to it.
  2. The URL the requests need to go to is api.accusoft.com, so you will need to make sure the requests for content conversion are going there.
  3. You also need to add a header to the requests as follows: acs-api-key: yourapikey.

Doing these three things will allow you to use content conversion as a PrizmDoc Cloud customer.

Question

We are using PrizmDoc and may be adding more end users, so we wanted to verify whether there is a limit to the number of viewing sessions that can be active at one time.

Answer

PrizmDoc does not specifically limit the number of viewing sessions that can be active at any given time. However, when opening a viewing session with a document, a conversion does take place. The number of conversions that can be handled simultaneously is based on the hardware constraints of your server.

Various factors, such as the size of documents, the number of conversions, and the hardware being utilized may impact the performance of your PrizmDoc server.

We provide server sizing and performance documentation that is designed to provide guidance and approximate server size based on the number of conversions you plan to do per minute.

Please refer to our documentation page:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#prizmdoc-server-sizing-servers.html

Question

Why do the fonts in my document look different when rendered in PrizmDoc?

Answer

There are times when a document was created on a machine where a user installed a non-standard font (e.g., Maestro-Regular). When the document is viewed on another system, without that font installed, the text will look different.

PrizmDoc uses the fonts installed on the server where it is running when converting the document. If the document has a non-standard font, and the font is not installed on the server where PrizmDoc is running, then it will render the document with a default font.

To fix the issue, you need to install the font onto the PrizmDoc server that converted the document. The procedure below outlines how to install the font on a Windows server. You will need to ensure that you are logged in as the same UserId that the Prizm Service is using.

  1. Identify the name of the font that needs to be installed and download the font file associated with that font. The font file name will typically be in the format of fontname.ttf.
  2. Copy the .ttf file to the server running PrizmDoc.
  3. On the server, right-click the .ttf file and select Install from the menu.
  4. Stop all of the Prizm services.
  5. Clear all folders under \Prizm\Cache – this will clear the previously rendered files that had the wrong font rendered.
  6. Reboot the server and attempt to open the document again.
Question

With PrizmDoc Viewer (Self-Hosted), you need to purchase specific licenses to include certain functionality such as OCR, MSO, etc. With this in mind, are all features of PrizmDoc Cloud included with transaction and subscription purchases?

Answer

All features that PrizmDoc Cloud has to offer are available with either transaction or subscription purchases.

Question

How can I make significant changes to the UI of a PrizmDoc sample?

Answer

While jQuery can be used to make some small changes to the samples UI, it does not always make sense to make your changes programmatically on the front-end.

In this case, you will want to make your UI changes to the HTML templates used to compile the template that is passed in during viewer initialization.

To make changes and recompile the templates, you can utilize the following GitHub repository:

https://github.com/Accusoft/prizmdoc-viewer

Question

For reporting purposes, we want to rename the markup layer JSON files to help identify which tenant made the markup. For example:

c1fea5868607402c1b664272e5b82aeb7fff7390_0_0hg91gTqSCeg_P9B2Ko7BaH-YxkaazjH.json

rename to:

accusoft_c1fea5868607402c1b664272e5b82aeb7fff7390_0_0hg91gTqSCeg_P9B2Ko7BaH-YxkaazjH.json.

Is this possible?

Answer

The actual filename for an annotation .json file contains an encrypted value of the file path and document name. This is what is used to associate the JSON markup layer file with the document.

If you make changes to the first part of the file, PrizmDoc will no longer be able to associate those markups to the actual file.

As a alternative, you can set up a separate PAS instance for each tenant, which will provide a different markup layer for each tenant.

Or you can programmatically handle the markups and store them specifically for each tenant. The following articles outline our Markup JSON specifications:

Question

What’s the difference between a Viewing Session and a Viewing Package?

Answer

Viewing sessions require source information for the document that you want to view. There are 3 types of sources to choose from: File, URL, and viewing package.

A viewing package is a file you want to view that is stored in its already “converted state”, which we call “pre-conversion”. This is different than a file or URL because these sources are converted and set in a temporary cache folder for use until the cache is cleared out.

Viewing package information can be set to never expire which is useful if you have documents that will be viewed over and over again by many clients. This allows the server not to have to convert the file every time and increases performance.