PrizmDoc v12.4 - Updated
Introduction
Developer Guide > Introduction

PrizmDoc was designed with ultimate flexibility for developers. With a completely customizable user interface and a powerful set of APIs for PrizmDoc Server, we provide you with numerous options to ensure that PrizmDoc meets your needs.

Customizing the Viewer

There are several options to customize the Viewer based on your use case.

Using the Viewer Out-of-the-Box

The Viewer is designed to work out-of-the-box with only a few lines of integration code to write on your web tier. Many users will be able to integrate the Viewer into their web application with little or no customization needed.

Customizing through Configuration

For developers who need minor modifications to the Viewer, customizing through configuration is the simplest option. The Viewer can be customized by modifying the uiElements to control which tabs are displayed as well as several other useful customizations.

For example, you may want to disable the user’s ability to print and download documents. Initializing the Viewer with pre-defined search terms and localization can also be handled via client configuration. You can also control how pages are displayed for different sized documents through configuration. Modifying through configuration options means that you don’t have to change the actual viewer code, minimizing integration time needed with future PrizmDoc releases.

Customizing the User Interface

The Viewer is designed using an open markup approach; all of the HTML and css is open and customizable. This allows the developer to treat The Viewer either as an out of box product fully supported by Accusoft or as sample code. By taking the sample code approach, a developer can start with our complete Viewer and modify the Viewer code as needed, from minor tweaks to a complete re-design of the interface. Of course, with this approach, the developer will incur some overhead merging customizations with future versions of PrizmDoc.

The Viewer markup is made up of a number of HTML "template" files. The template files help segment the UI components and make it easier for the developer to focus on areas of the Viewer needing modification. Simple customizations such as rearranging, removing or renaming tabs can be done very quickly by modifying the main template (viewerTemplate.html). From there, the developer can add, remove, or change anything in the Viewer UI, including  designing a completely custom interface using the Viewer API. Additionally, we expose an unminified, unobfuscated javascript library so the developer can edit the business logic and behavior of the Viewer. For more information, refer to the topic: Developer Guide > Customizing the Viewer > Modifying viewer.js

Using the Viewer API

The Viewer API permits programmatic control over the Viewer. Most API functionality is exposed by the ViewerControl - the core component of the Viewer. The Viewer UI/chrome builds off of the API members of the ViewerControl.

It is required to use the Viewer API for:

The Viewer API is not required for:

For more information about the Viewer API, refer to the API Reference documentation.

PrizmDoc Application Services

PrizmDoc Application Services abstracts much of the code that you previously had to write or integrate from our samples into a node.js service with a public API. The sample code that ships with PrizmDoc may be all you need to integrate PrizmDoc into your web tier.

However, for more advanced operations, such as managing your annotations in your own database, you may need to interact with the PrizmDoc Application Services API. In addition, PrizmDoc now supports an API for pre-converting documents and centralizing cached data. This is also managed in the PrizmDoc Application Services API. For more information, refer to the PrizmDoc Application Services section in the Developer Guide.

Interacting with the RESTful APIs

PrizmDoc Server provides a set of APIs to allow you to interact directly with the services outside of the Viewer. Using the RESTful APIs, you can work programmatically with viewing sessions, manage redaction burning, and check system health. This can all be performed via the API without having to use the Viewer. Refer to the RESTful API documentation for more details.

You can also convert documents from source files into PDF or TIFF, combine multiple documents and pages of documents into a single new document using Content Conversion Services (CCS). Refer to the CCS API documentation for more details.

Advanced Configuration

Developers that are interested in the additional configuration options for PrizmDoc, refer to Administering PrizmDoc > System Configuration.