Technical FAQs for "PrizmDoc"

Question

When running setup.sh and entering the information for a node-locked license, such as configuration file, solution name, and solution key, the following error occurs:

The licensing configuration file you provided is invalid. Please retry
your request or break the licensing process:

What would cause this issue?

Answer

This issue may be caused by a trailing space on the configuration file copied to the Linux server.

To remove the space, run the following command, making sure to replace
configurationfilename with the name of your configuration file.

truncate -s -1 **configurationfilename**

For example:

truncate -s -1 /usr/share/prizm/licenseconfiguration.txt
Question

Can I run PrizmDoc Viewer in a Windows Docker container?

Answer

No, you cannot run PrizmDoc Viewer in a Windows Docker container. This is because Windows Docker containers do not provide the full environment that a Virtual Machine or regular Windows system install provides.

However, this is not the same thing as using a Windows system as a Docker Host, which actually can run PrizmDoc Viewer in a Linux Docker container.

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.

Question

In PrizmDoc Viewer, when viewing Excel documents that have pictures on certain spreadsheets within that document, the pictures are not displayed.

This appears to happen only if PrizmDoc has the Microsoft Office Conversion (MSO) feature enabled. This issue does not occur if PrizmDoc is using LibreOffice.

Why is this happening?

Answer

The issue is related to an Excel “Page Setup” option called “Black and white”. The option is located in Excel under File, Print, Page Setup and is only respected when PrizmDoc has the MSO feature enabled.

When using LibreOffice, this setting does not exist and is ignored, which is why you can see the pictures.

By default, this option is disabled in Excel, so that specific option would have to be manually set by the creator of the document.

As a workaround, ensure that the “Page Setup” option for “Black and white” is not checked on any spreadsheets in an Excel document that has pictures.

Question

Does viewing HTML in PrizmDoc Viewer allow JavaScript execution or local file access? Can PrizmDoc Viewer block externally-referenced content from being rendered?

Answer

When viewing HTML in PrizmDoc, JavaScript and local file access are disabled.

Additionally, you may configure the security.htmlRendering.blockExternalContent setting found in PrizmDoc’s Central Configuration file. When rendering any source document which uses HTML content, this setting 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.

Question

In the past I have had some issues installing PrizmDoc Server and Client and I was curious if PrizmDoc create logs during the install? If so, where would they be located?

Answer

Yes, PrizmDoc does keep install logs to help troubleshoot failed installations. These logs can by found in the following folder:

C:\Users{UserName}\AppData\Local\Temp

All of the install logs names will start with PrizmDoc_Server or PrizmDoc_Client.

If you do not see any logs in that directory, it could mean your Windows Temp directory maybe mapped to another location. You can find that location by doing the following:

  1. Right-click on the Windows Icon in the lower left hand corner of the desktop.

  2. Select Run.

  3. In the Open: box, type %temp% and click OK.

Question

Why does my markupBurner call with XML data get an InvalidJson error?

Answer

The MarkupBurner accepts two types of payloads, XML and JSON.

When making a call to the markup burner with either type, you have to specify what kind of payload you are sending by specifying a Content-Type header.

For more information on MarkupBurners, see here:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#pas-markup-burners.html

Question

Why is touch input for PrizmDoc not working in Chrome version 70+?

Answer

PrizmDoc uses the Chrome Touch API to process touch input. This API was deprecated after Chrome version 70 and must be manually re-enabled in order for touch input to work in PrizmDoc.

Paste the following link into Chrome and enable the Touch API:

chrome://flags/#touch-events

This issue will also occur in the Chromium version of Microsoft Edge.

Paste the following link into Edge and enable the Touch API:

edge://flags/#touch-events

Question

We want to use one PAS instance for multiple customers while ensuring their calls and data are separated so that other customers cannot access them. Is there a way PrizmDoc can accomplish this?

Answer

How To:

Use the following steps to set up the multi-tenancy feature:

  1. Add a new line inside of /usr/share/prizm/pas/pcc.nix.yml (Linux) or C:\Prizm\pas\pcc.win.yml (Windows) in the following format:

undocumentedFeature.multiTenancy: “enabled”

  1. After enabling this feature, all requests to PAS must include the header accusoft-tenant-id. The following shows an example request for creating a new viewing session:
POST /ViewingSession HTTP/1.1
Host: localhost:3000
Content-Type: application/json
accusoft-tenant-id: myUniqueTenantId
cache-control: no-cache
Postman-Token: 5edd698a-5e4f-46d2-b93a-42cc57371dce
  {
  "source": {
  "type": "document",
  "fileName": "1040ez.pdf"
   }
  }

NOTE: All Tenant Ids are converted to lowercase and must be unique between tenants. This means that in terms of the application both “MyTenant” and “mytenant” are equivalent and would be able to see the same files. Tenant Ids are not generated for the application and must be generated and handled by the integration components. Tenant Ids are also strictly alphanumeric at this time.

File storage including Documents, markupXml, formDefinitions and markupLayerRecords will now be appended with the
{tenantId} as shown in the above example with a Documents configuration of /usr/share/prizm/Samples/Documents. The request would attempt to create a viewing session from the following file: /usr/share/prizm/Samples/Documents/myuniquetenantid/1040ez.pdf

Viewing Package data stored in the database will have the tenantId included in the composite index as well as include an accusoftTenantId column.

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