Technical FAQs

Question

Is it possible to make a call to an external API when annotation saving is complete?

Answer

In the Viewer, you can bind functions to the MarkupSaved event mentioned on the following documentation page in order to execute code when annotations are saved to the server:

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

A full list of events exposed by the Viewer can be found here:

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

Question

Can PrizmDoc handle password-protected files, such as PDFs or Excel files?
How would a user specify a password for a particular document?

Answer

It is possible to specify the password for a password-protected document when creating a viewing session in PrizmDoc. When sending a request to create a viewing session, you’ll use the password field in the request body to specify the password. For example…

POST http://localhost:3000/ViewingSession
Content-Type: application/json
{
    "source": {
        "type": "url",
        "url": "https://www.usability.gov/sites/default/files/creating-wireframes.pdf"
    },
    "password": "hunter2"
}

(Replace "hunter2" with the actual password)

Please note that even if a file needs a password and is not provided one (or is provided one that’s incorrect), the viewing session should still be created successfully. The easiest method to determine whether the password is needed/correct is to make a call to get the page. You can do this by making a GET request to the GetPage route using the viewingSessionId created earlier, like so…

GET pas_base_url/Page/q/0?DocumentID=u{viewingSessionId}

…be sure to replace pas_base_url with the root of your Prizm Application Services (PAS) instance (usually this is http://localhost:3000) and replace {viewingSessionId} with the actual value for viewingSessionId created in the previous step.

The above call will return 200 OK if the page load is successful. If a password is required/incorrect, you should see a return status code 480. There will be additional response headers called accusoft-status-number and accusoft-status-message, which should be 4001 and "Document requires a password", respectively.

You can see the above in greater detail in the product documentation here.

You can use this information to re-create a viewing session with the correct password.

Currently, there is a feature request planned for a potential future release of PrizmDoc to prompt the user for a password if one is required.

Question

Which databases types are supported by PrizmDoc for storing annotation/redaction layers as well as viewing package information?

Answer

PrizmDoc provides the option to store viewing package process and creation information, as well as annotation layer JSON information, into a database.

Currently, Microsoft SQL Sever and MySQL is supported for this type of storage. For more information on setting up a database for use with PrizmDoc, please refer to the following documentation:

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#run-database-scripts.html.

https://help.accusoft.com/PrizmDoc/latest/HTML/webframe.html#developer-guide.html.

Question

What is the absolute bare minimum I need to use PrizmDoc Cloud?

Answer

This will allow you to load a document via a URL using PrizmDoc Cloud. Just include your PrizmDoc Cloud API key in the POST request headers.

Please note: This is purely intended as a proof-of-concept. You should never include your API key in your client-side Javascript.

<!DOCTYPE html>

<html lang="en">
<head>
    <!-- Metadata -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="" />

    <!-- Title -->
    <title>AccuSample</title>

    <!-- Libraries -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css">

    <!-- PrizmDoc CSS -->
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewercontrol.css">
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewer.css">

    <!-- Inline Stylesheet -->
    <style></style>

</head>
<body>

    <!-- #viewer -->
    <div id="viewer" class="pccv pcc-full-screen"></div>

    <!-- Libraries -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery-3.4.1.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery.hotkeys.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/underscore.min.js"></script>

    <!-- PrizmDoc JS -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewercontrol.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewer.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewerCustomizations.js"></script>

    <!-- Inline Script -->
    <script>

        let viewingSessionId;
        let viewerControl;

        $(document).ready(function() {
            $.ajax({
                "type": "POST",
                "url": "https://api.accusoft.com/prizmdoc/ViewingSession",
                "headers": {
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                },
                "data": JSON.stringify({
                    "source": {
                        "type": "url",
                        "url": "https://www.usability.gov/sites/default/files/creating-wireframes.pdf"
                    }
                })
            }).done(function(response) {
                PCCViewer.Ajax.setHeaders({
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                });

                viewingSessionId = response["viewingSessionId"];

                // Initialize viewer
                viewerControl = $("#viewer").pccViewer({ 
                    "documentID": viewingSessionId,
                    "imageHandlerUrl": "https://api.accusoft.com/prizmdoc",
                    "language": viewerCustomizations.languages["en-US"],
                    "template": viewerCustomizations.template,
                    "icons": viewerCustomizations.icons,
                    "annotationsMode": "LayeredAnnotations"
                }).viewerControl;

                viewerControl.on("ViewerReady", function() {
                    console.log("Ready!");
                });
            });
        });

    </script>

</body>
</html>
Question

In PrizmDoc, why can’t I delete a full page redaction? The menu pops up for a rectangle redaction, so why not for a full page?

Answer

First, some terminology for PrizmDoc Viewer menus:

Traditionally, when you right click on a page, application, etc. the menu that pops up is called the “context menu”. However, in PrizmDoc, we refer to that menu as the Immediate Actions Menu, and there is a larger box that appears off to the side that we call the Context Menu

This functionality is viewable in the demo linked below. When you create a full page redaction and right-click on it, you get the Immediate Actions Menu. When you create a rectangle redaction and left- or right-click on it, off to the side you’ll see the Context Menu, and can delete it using either that menu or the “delete” key.

https://www.accusoft.com/demos/redaction-demo/

When you make a full page redaction, the only way to delete it is by using the delete button in the Immediate Actions Menu. You cannot click on it and press “delete”, and you cannot delete it via our Context Menu. This is currently a design feature being discussed below at the time of writing:

https://ideas.accusoft.com/ideas/PDEN-I-512

By default, the parameter immediateActionMenuMode is set to off, which disables the menu. If you are having trouble getting this menu to open in your application, you may need to set it to be on when you have a redaction on the page. You can read more about enabling and disabling this feature here.

Question

What does it mean when I see “Email Address is not Registered” when entering in an email in the Evaluation Dialog?

Answer

You will see this error if you have not registered on the Accusoft website.

To register your email address, please visit the following link below:

https://my.accusoft.com/Account/FirstTimeUser?Length=7

Question

My document appears to be loading incorrectly. Are there any troubleshooting steps that I can take?

Answer

First, confirm that this is a document-specific issue by trying other documents of the same file type or documents of the same file type with similar size characteristics and content.

Second, if the document is a Microsoft Office document and you are using LibreOffice as your backend renderer, you can compare the way that the document displays in PrizmDoc against the way the document displays in the copy of LibreOffice shipped with PrizmDoc (C:\Prizm\libreoffice\program\soffice.exe on Windows, /usr/share/prizm/libreoffice/program/soffice on Linux). To inquire about the Microsoft Office renderer plugin, which may resolve office document rendering issues, send an email to sales@accusoft.com.

Third, reach out to a support technician at support@accusoft.com, as they will be able to quickly test how the document renders in the latest version of PrizmDoc, and consult the product engineers in the event that there is a rendering issue.

Have the following information handy, as it will help the support technician better assist you:

  • What version of PrizmDoc are you using?

  • What operating system are you using?

    • If Windows, are you using the LibreOffice or Microsoft Office backend renderer?
  • A PDF export or a screenshot of what you see in PrizmDoc, compared to a screenshot of how the document looks in its native file type viewer.

  • Log files that include the processing of the incorrectly loading document.

  • Any changes that you may have made to the PrizmDoc configuration files.

Video playback has become a fundamental feature in today’s applications, mirroring the shift in user tastes and the widespread presence of multimedia in our digital era. As the appetite for video content rises—spanning tutorials, entertainment, online lessons, marketing assets, and content created by users—applications that provide seamless and adaptive video playback resonate with these needs, boosting user engagement and loyalty.

Additionally, video conveys intricate concepts effectively, resonates with those who are visual learners, and often elevates the user journey with a deeper, more engaging medium. Embedding powerful video playback capabilities can help applications stand out from the crowd, ensuring that they align with modern user demands and stay relevant in a video-driven digital environment.

Introducing PrizmDoc Video Playback

Recognizing the significance of video, the Accusoft engineering team has enhanced PrizmDoc with video playback capabilities. While PrizmDoc already smoothly integrates document viewing features into web applications, this latest addition empowers developers to seamlessly incorporate video features into their software. With PrizmDoc’s video playback, the days of hosting videos on external platforms or depending on poorly secured software plugins to embed videos are gone.

The new video playback feature augments PrizmDoc’s reputation for efficiency and top-tier performance, ensuring the delivery of premium video content with barely any processing delays and supporting a variety of file formats. Developers can effortlessly embed video playback using a straightforward API call, bypassing the need to construct intricate video functionality from the ground up.

Video Playback Benefits for Government Applications

Government agencies stand to gain substantially by integrating video playback capabilities into their applications’ document viewing systems. Here’s an in-depth look at the advantages this integration can bring:

Improved Communication and Collaboration

Incorporating video playback allows government agencies to revolutionize their documentation techniques, creating content that is not only captivating but also densely packed with essential information. This multimedia integration is advantageous in many ways: from presentations that need to capture the audience’s attention, to training modules that benefit from visual aids to ensure clearer understanding, to public service announcements where visuals can often communicate more effectively than words alone.

But the utility of videos extends beyond just the content. They serve as a dynamic conduit for enhanced communication, promoting more profound interactions. When government staff use videos, they open doors to a more direct and interactive dialogue with citizens and various stakeholders. This interactive platform, fostered by video content, encourages shared understanding and insights, catalyzing cooperative ventures. Moreover, it ensures that the core message of the agency is transmitted with clarity, reducing ambiguities and fostering trust between the government and its constituents. Videos are not just tools for information delivery but also instruments for building bridges and fostering collaborations.

Better Transparency and Oversight 

Government agencies can greatly enhance transparency and accountability in their operations by leveraging video playback in their applications. Recording committee sessions and admissible meetings ensures that even nuanced details of discussions are captured for future reference. For independent software vendors (ISVs) supporting the Freedom of Information Act (FOIA), integrating video playback into their applications provides an invaluable tool for their government customers. Agencies can monitor access to videos, ensuring that the integrity of video files is maintained while still making them available in accordance with FOIA requirements. 

More importantly, constituents who may not have the opportunity to attend meetings in person can still remain informed by viewing these video recordings. This fosters an environment of inclusivity and ensures that all citizens can be privy to government proceedings. Additionally, video integrations provide government agencies with detailed logs, allowing them to track file accesses, view detailed histories, and maintain a comprehensive understanding of the data’s interactions. This systematic organization not only aids in efficient operations but also upholds the tenets of transparency and accountability.

Enhanced Control

Providing access to recorded video content, though seemingly straightforward, brings with it a set of challenges, especially for government agencies. Unauthorized downloading or sharing of these recordings can jeopardize the integrity and security of the content. By embedding video playback functionalities directly within their applications, agencies gain a robust mechanism to regulate access, ensuring that only authorized users can view the content. The option to download files can be removed entirely, making it much easier to control how videos are viewed and shared.

More importantly, these integrations allow agencies to generate comprehensive audit trails, documenting every instance of access, and guaranteeing that the sanctity and confidentiality of the content are preserved. Many of these video files could hold sensitive or classified information, the distribution of which, without proper authorization, could have legal repercussions. Through strict controls on how these video files are accessed, viewed, and shared, government applications are better positioned to adhere to legal and regulatory stipulations, reinforcing data security and public trust.

Boosting Efficiency and Productivity

Video content can provide government personnel with a streamlined means to access crucial information. By offering data in an easily digestible visual and auditory format, videos facilitate quicker comprehension and thereby expedite decision-making processes. This ensures that government functions remain nimble and responsive in an ever-evolving landscape.

Beyond information dissemination, video playback can revolutionize operational tasks. Specifically, when it comes to onboarding new employees, standardized video training modules offer a consistent and efficient approach. These modules allow newcomers to familiarize themselves with institutional practices at their own pace, ensuring uniformity in training. Additionally, updates to reflect new policies or insights can be seamlessly integrated, making the training process both adaptable and up-to-date.

Augmented Transparency and Accountability

Videos provide a concrete and unambiguous record of governmental actions and decisions. This visual documentation brings greater clarity to operations, reducing misunderstandings and ensuring that agencies are held accountable for their actions. Providing video evidence helps to build trust, reinforcing that government agencies are operating transparently and in good faith.

Furthermore, modern video platforms offer more than just passive viewing experiences; they are interactive hubs that enable direct communication between the government and its citizens. Through these platforms, agencies can actively seek feedback, opinions, and suggestions from the public, ensuring that their policies and initiatives resonate with and address the genuine concerns of citizens. Video-enabled GovTech applications can also serve as continuous channels of information, allowing agencies to keep constituents regularly informed about new programs, updates, and changes, further solidifying the commitment to transparency and open governance.

Enhance GovTech Applications with PrizmDoc Video Playback

PrizmDoc’s new video playback feature offers numerous advantages for government applications. With this new capability, GovTech developers can help government agencies seamlessly integrate and access video content directly within their applications, removing the reliance on third-party platforms or external tools. Users ultimately benefit from a streamlined and integrated workflow, especially when drawing connections between official documents and relevant videos. By centralizing these functions and reducing associated expenses, GovTech software developers can focus their efforts and resources on other features, ensuring that their applications stay ahead in a continuously modernizing administrative environment.

To learn more about how PrizmDoc’s video playback feature can benefit your GovTech application, talk to one of Accusoft’s PrizmDoc specialists today.