Technical FAQs

Question

Why am I receiving a 500 error when making a Viewing Session PUT request?

Answer

This issue can occur if you forget to prefix the {viewingSessionId} portion of the URL with u, or if you simply request an invalid {viewingSessionId} in the call.

For example, the PUT call should look like the following:

PUT /ViewingSession/u{viewingSessionId}/SourceFile

For more information on syntax and other API calls related to Viewing sessions, please see:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#pas-viewing-sessions.html

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

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

How can I annotate or redact search results within PrizmDoc? What annotation or redaction types are supported? How can I change the properties of the created marks?

Answer

You can annotate or redact search results using the addMarkFromSearchResult() function from ViewerControl. This function creates a new mark of a specific type and adds it to the location where the specified search result is.

The addMarkFromSearchResult() supports mark types: TextSelectionRedaction, HighlightAnnotation, StrikethroughAnnotation and TextHyperlinkAnnotation.

The addMarkFromSearchResult() function takes two arguments: searchResult and markType. The searchResult is the search result that you want to annotate/redact and markType is the type of mark that will be created.

To perform a search and redact the search results, use the following example:

var requestObject = PCCViewer.search('Con');
 var marks = [];
 var mark;
 requestObject.on(PCCViewer.EventType.SearchCompleted, function (event) {
     var searchResults = event.completedSearchResults;
     for (var i = 0; i < searchResults.length; i++) {
         mark = viewer.viewerControl.addMarkFromSearchResult(searchResults[i], PCCViewer.Mark.Type.TextSelectionRedaction);
         marks.push(mark);
     }
 });

To create a different annotation type from a search result you would change the second argument to the different type. For example, if you wanted a textHyperLinkAnnotation you could do the following:

mark = viewer.viewerControl.addMarkFromSearchResult(result, PCCViewer.Mark.Type.TextHyperlinkAnnotation);

Changing the properties of the mark is fairly straightforward. To set the fill color and the URL string in the TextHyperlinkAnnotation, you would add this after creating the mark:

mark.setHref("https://www.accusoft.com");
mark.setFillColor("#FF0000");

More information on mark types and their properties can be found in our documentation here.

Question

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?

Answer

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:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#viewing-sessions.html

Question

My PrizmDoc Cloud hosted server is reporting as unlicensed even though the license lease file is being written to the S3 bucket, what could be causing this?

Answer

This issue can occur when using a single S3 bucket for both licensing files as well as additional document storage. When our cloud licensing module attempts to search for the expected lease file inside of this S3 bucket, it requests the list of objects in that directory. However, whenever there are more than 1,000 objects in this bucket, this call only returns a list of the first 1,000 objects.

If there are over 1,000 objects in the bucket, then this could cause the Licensing Service to not see the license lease file when it gets the list of files. The result is that no lease file is found, which in turn causes the service to go unlicensed.

The solution for this issue is to make sure the bucket you are using for licensing is only used for that purpose. Should you encounter this issue, try moving all other files out of the bucket. If that is not possible, you may need to contact Accusoft Support to request changing the bucket your license uses for licensing.

Question

PAS appears to be unable to retrieve my document. What could be the issue?

Answer

If PAS is trying to retrieve documents from a source with a bad SSL certificate or a self-signed certificate and it is not configured to allow bad SSL certificates, it will fail to retrieve the document and log a generic 580 error.

For more information about Viewing Session creation parameters, including acceptBadSslCertificate see here:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#pas-viewing-sessions.html

Question

When printing in PrizmDoc, the bottom of my document is being cut off. Why is this happening?

When I download the document as PDF, I do not lose parts of the document. However, if I print the document to PDF, I lose some data off the very bottom (maybe an inch or so).

Answer

In PrizmDoc, the page is to "fit to width" onto the paper by design. The bottom of the page will be cut off in cases where the length of the page extends further than the length of the paper. If you’re printing with Letter size paper (the default), it presumes a document that measures 8.50 by 11.00 inches. Suppose your document measures 8.50 x 13.00 inches. That additional 2 inches will be cut off during printing. This is why you may lose parts of the document while printing, but not if you download the document since it’s downloading the document as-is.  

To prevent this from happening, select a paper size large enough for your document (in the viewer print dialog and the system print dialog). Using the previous 8.50 x 13.00 inch example, you can select "Legal" size paper, which measures 8.50 x 14.00 inches, and would be long enough to support that document.

You could also modify your viewer to add a custom paper size if this fits your use case. Below is some sample code demonstrating this in our Viewer sample. You would need to enter your own custom paper sizes.

https://www.accusoft.com/code-examples/printing-custom-paper-sizes/

Changes to printTemplate.html:

    /*custom */
    .portrait .custom.page { width: 11in; height: 11in; margin: 0 auto !important; }
    .portrait .custom.pageIE { width: 9.5in; height: 9.5in; margin: 0 auto !important; }
    .portrait .custom.pageSafari { width: 8.9in; height: 8.9in; margin: 0 auto !important; }
    .portrait .custom.nomargins { width: 11in !important; height: 11in !important; }
    /* even without margins, Safari enforces the printer's non-printable area */
    .portrait .custom.nomargins.pageSafari { width: 9.32in !important; height: 9.32in !important; }
    
    .landscape .custom.page { height: 11in; width: 11in; margin: 0 auto !important; }
    .landscape .custom.pageIE { height: 9.05in; width: 9.05in; margin: 0 auto !important; }
    .landscape .custom.pageSafari { height: 8.4in; width: 8.4in; margin: 0 auto !important; }
    .landscape .custom.nomargins { height: 11in !important; width: 11in !important; }
    .landscape .custom.nomargins.pageSafari { height: 9.32in !important; width: 9.32in !important; }
    /*custom end*/

Changes to printOverlayTemplate.html (last line "Custom" is the only change):

    <select data-pcc-select="paperSize" class="pcc-print-select">
        <!-- US and International-->
        <option value="letter"><%= paperSizes.letter %></option>
        <option value="legal"><%= paperSizes.legal %></option>
        <option value="tabloid"><%= paperSizes.tabloid %></option>
        <option value="foolscap"><%= paperSizes.foolscap %></option>
        <!-- A formats-->
        <option value="a3"><%= paperSizes.a3 %></option>
        <option value="a4"><%= paperSizes.a4 %></option>
        <option value="a5"><%= paperSizes.a5 %></option>
        <!-- Architectural-->
        <option value="a6"><%= paperSizes.a6 %></option>
        <option value="a"><%= paperSizes.a %></option>
        <option value="b"><%= paperSizes.b %></option>
        <option value="c"><%= paperSizes.c %></option>
        <option value="d"><%= paperSizes.d %></option>
        <option value="e"><%= paperSizes.e %></option>
        <option value="e1"><%= paperSizes.e1 %></option>
            
        <option value="custom">Custom</option>
    </select>

Additionally, if you would like to change the default selected page size you can add selected to it as follows:

<option value=\"a4\" selected><%= paperSizes.a4 %></option>
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

For ImageGear .NET, what are the feature differences between an OCR Standard license, an OCR Plus license, and an OCR Asian license?

https://www.accusoft.com/products/imagegear-collection/imagegear-dot-net/#pricing

Answer

ImageGear’s OCR library has three different functionality options that you can choose for your website or application. The primary difference between the three options is the output formats created by the OCR engine. The options for your development are as follows:

  1. OCR Standard:
    The standard edition creates output formats for Western languages such as English. The standard edition outputs text only files and generates a PDF. The file formats it includes are searchable text PDFs and text documents.

  2. OCR Plus:
    The standard plus edition creates formatted outputs for Western languages like English. The formatted output is created with recognition technology that identifies font detail, locates image zones, and recognizes table structure in order to create a representation of the original document. The file formats it includes are Word, Excel, HTML, searchable PDF, and text documents.

  3. OCR Asian:
    The Asian edition creates a formatted output for Asian languages like Chinese, Japanese, and Korean. This formatted output is created with the same recognition technology as the Standard Plus that identifies font detail, locates image zones, and recognizes table structure. It also creates a representation of the original file. Formats include Word, Excel, HTML, searchable PDF, and text documents.

Question

I have an evaluation license for PrizmDoc. Can I evaluate MSO features with this evaluation license?

Answer

No, regular PrizmDoc evaluation licenses do not have MSO functionality. They will instead use LibreOffice to convert documents. Contact an Accusoft Support Technician or your Account Representative to discuss evaluating PrizmDoc with MSO enabled.