Technical FAQs for "PrizmDoc"

Question

I am creating a viewing session from a local document on my server and providing an absolute path “C:\Users\Public\Documents\Accusoft\Common\Images\PdfDemoSample.pdf” as the fileName but I receive a 404 error. What could be the reason for this and how can I fix it?

Answer

For security reasons, PAS disallows providing absolute paths for documents that are outside of the directory specified in the documents.path in the pcc.win.yml config file. So trying to provide a path to any file outside of that directory will cause a 404 error.

We recommend that you set documents.path to the directory in which you store your documents. When you create a create a viewing session using a local document, you should set fileName to the relative path to the document from the documents directory.

You can also set fileName to the absolute path to the document if it is contained in the documents directory (specified in pcc.win.yml) if you prefer to use absolute paths.

Question

After applying a new license/evaluation license through the license utility on Linux, the following error appears in the logs:

{"gid":"","name":"OCS","time":"2019-01-3T18:26:39.368Z","pid":36875,"level":50,"tid":36875,"taskid":8,"FATAL ERROR":"MSO feature is active, but 'fidelity.msOfficeCluster.host' and 'fidelity.msOfficeCluster.port' are not configured, going to 'Unhealthy' state"}

What could cause this issue to occur, and how can it be fixed?

Answer

As you are running on Linux, the MSO switch on the license assumes that there are additional settings configured:

fidelity.msOfficeCluster.host and fidelity.msOfficeCluster.port

These settings are meant to point to a Windows server which has Microsoft Office 2013 or 2016 installed alongside PrizmDoc with MSO enabled. This is required for MSO functionality to be enabled.

If you wish to use the license with MSO enabled but do not have a separate Windows server, you can do the following to set the PrizmDoc service to run using LibreOffice:

  1. Make a backup of /usr/share/prizm/prizm-services-config.yml file.
  2. Edit the file in the text editor of your choice and find the following line, fidelity.msOfficeDocumentsRenderer: auto
  3. Be sure to remove the hash and leading space in front of the line and then change from auto to libreoffice.
    fidelity.msOfficeDocumentsRenderer: libreoffice
  4. Restart the service by running /usr/share/prizm/scripts/pccis.sh restart
Question

Some of our users using Google Chrome have been reporting that PDF document loading and page rendering is extraordinarily slow. This is making the workflow unusable. What could have caused this issue to start occurring?

Answer

An issue was discovered in Google Chrome 71 that was causing this issue. The issue was resolved in Google Chrome 72 (released in Jan 2019).

If you are experiencing this PDF loading issue with PrizmDoc, and you are using the Google Chrome browser, please verify that you are using the latest stable version here:
https://www.google.com/chrome/

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

What file formats does PrizmDoc Viewer currently support?

Answer

Please refer to our latest documentation for the most up-to-date list of supported file formats:

For documentation on older versions of PrizmDoc Viewer, please see our documentation archive.

Question

I have already licensed PrizmDoc. Where can I find my license key?

Answer

At the very top of the prizm-services-config.yml file located at C:/Prizm/ on Windows and /usr/share/prizm/ on Linux, you can locate the license key:

######################### PrizmDoc Configuration ###############################

############################### Licensing ######################################

license.solutionName: ________
license.key: 2.0...
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 get a document’s dimensions with PrizmDoc?

Answer

There are two methods you can use to do this with PrizmDoc:

The first method is using the requestPageAttributes() method from ViewerControl. This method allows you to get the width and height of a page in the document in pixels. Below is sample code on how to use requestPageAttributes() to get the attributes of page 1 of a document:

viewerControl.requestPageAttributes(1).then(function(attributes) {
    var pageWidth = attributes.width;
    var pageHeight = attributes.height;
});

The second method is done by making a GET request to the PrizmDoc server to get metadata for a page of the source document in a viewing session. The request is:

GET /PCCIS/V1/Page/q/{{PageNumber}}/Attributes?DocumentID=u{{viewingSessionId}}&ContentType={{ContentType}}

The content type needs to be set to “png” for raster content and “svgb” for SVG content. The request returns the data in a JSON object containing the image’s width and height. The units for the width and height are in pixels when the contentType is set to “png” and unspecified units when the content type is set to “svgb”.

The request also returns the horizontal and vertical resolution of raster content when the content type is set to “png”. This information is similar to pixels per inch, but the units are unspecified, so if you wanted to calculate the size of the document you can calculate it by width divided by horizontal resolution or height divided by vertical resolution. The resolution is hard-coded to 90 when contentType is set to “svgb”.

Question

How can I remove the scroll bar/disable scrolling in PrizmDoc Viewer?

Answer

A quick way to do this would be to have something like the code below. Make sure to do this after this DOM element has loaded, so after the viewer is ready.

$('.pccPageListContainerWrapper').css('overflow', 'hidden');

The following will both remove the scroll bar, and disable scrolling:

$('.pccPageListContainerWrapper').css('overflow', 'unset');
Question

No matter what CSS I use, the viewer’s div always consumes the full screen. How can I fix it?

Answer

If you’re trying to modify the PrizmDoc Viewer samples, then your CSS is most likely being overridden by the setting fullScreenOnInit: true. Change this property to false and you should be able to use any of the scaling CSS that you would use on a normal div.

Question

Can we give network paths for source document location as well?

For example //10.216.2.312/test/test.doc

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#Transfer_Your_Document_to_PrizmDoc_Server.html.

When using http URL, for security reasons, only absolute paths are allowed, but could you map test to documents and use a local file?

Answer

Documents are stored by default in:

C:\ProgramData\Accusoft\Prizm\Documents 

so if the type in the request for source is document it will look in that folder. The configuration for that is set in PAS config:

    {
        "source": {
            "type": "document",
            "fileName": "1040ez.pdf"
        }
    }
Question

When I click on the download button a ‘download options’ pane appears to the left of the Viewer.

Is there a way I can modify the client code such that clicking the download button skips this step and just downloads the document as a PDF, burning in all the marks/redactions/e-signatures?

Answer

To clear the event listener for the download button and attach your own, you can add this in your client-side JavaScript after the Viewer has been initialized:

$("button.pcc-icon.pcc-icon-download").off("click");

$("button.pcc-icon.pcc-icon-download").on("click", function (event) {
    $("div.pcc-select-download div.pcc-label").html("PDF");
    $("div[data-pcc-checkbox=\"burnMarks\"]").addClass("pcc-checked");
    $("button[data-pcc-download=\"download\"]").click();
});

This will add a new click listener to the download button. In the example above, the click listener sets download parameters (type is set to “PDF”, and marks/redactions/esignatures are included), and then immediately calls the click event on the “download” button that would normally be in the download pane. This should make it so that when the user clicks the download button, the notification dialog immediately appears instead of the download pane, as shown below:

From here the user can click the “save” button to download the resultant document.