Technical FAQs

Question

Why am I unable to see the full menu bar with annotation and eSignature options?

Answer

These features are part of our Professional version. If you would like to evaluate the full feature set, please submit a request for a trial key here.

VirtualViewer is now PrizmDoc for Java

In document viewing and processing solutions, change is inevitable and often necessary to keep pace with evolving technologies and market demands. As such, we are thrilled to announce the rebranding of VirtualViewer® to PrizmDoc® for Java. This transformation accentuates Accusoft’s unwavering commitment to providing cutting-edge, secure document-viewing solutions to our valued customers and partners.

Why the Change? 

Several key factors drove the decision to rebrand VirtualViewer® as PrizmDoc® for Java, aligning with our mission to deliver innovative and streamlined solutions to the market.

Rebranding VirturalViewer® to PrizmDoc® for Java solidifies Accusoft’s dedication to offering state-of-the-art document-viewing solutions. By folding VirtualViewer® into the PrizmDoc® brand, we can present our current and potential clients with a more cohesive and comprehensive product lineup. This streamlined experience makes it easier for customers to navigate our offerings and find the perfect solution to meet their document-viewing and processing needs.

Renaming VirtualViewer® as PrizmDoc® for Java clarifies its positioning within our product portfolio. Prospects can now readily identify PrizmDoc® for Java as Accusoft’s Java-based option for document viewing and processing. This clear delineation enhances brand recognition and facilitates informed decision-making for potential customers.

What Does PrizmDoc® for Java Have to Offer?

Renaming VirtualViewer® as PrizmDoc® for Java solidifies Accusoft’s commitment to offering our customers options for Document Viewing and Processing that meet their unique needs. PrizmDoc® for Java boasts robust features designed to empower users with unparalleled document-viewing capabilities. From rendering high-fidelity documents with lightning speed to enabling seamless collaboration and annotation, PrizmDoc® for Java is engineered to optimize productivity and efficiency across various industries and use cases. You’ll also still get the same robust document support, easy-to-use format in any environment, and quick installation/integration that you’re used to with VirtualViewer®

Moving Forward

PrizmDoc® for Java represents a new name and a bold step forward in our ongoing mission to redefine the document-viewing landscape. This rebranding supports Accusoft’s commitment to offer innovative, secure document-viewing solutions. VirtualViewer’s® transition to PrizmDoc® for Java signifies more than just a name change—it exemplifies our commitment to excellence and dedication to providing superior document-viewing solutions.

To learn more, visit the PrizmDoc® for Java product page.

Having the right file conversion tools in place can make or break an application. Developers frequently face the challenge of managing multiple file types within a consolidated workflow. Without effective conversion tools, users are forced to rely on external applications that compromise both efficiency and security.

Out of all the file formats developers must account for, PDFs remain among the most important. The ability to convert a wide variety of document and image file types into PDF format can provide an application with unmatched versatility. In fact, PDF conversion support is one of the keys to unlocking better workflow performance, security, and collaboration.

5 Reasons to Convert Files to PDF


1. PDF Format is Consistent

Sharing documents and images across different devices and operating systems can sometimes create problems if the recipient lacks the up-to-date software necessary to view the file properly. This is a particular challenge with documents created using Microsoft Word since the formatting could look quite different across different versions of the program. Since PDF files are designed to look the same no matter how they’re being viewed, the format is ideal for sharing. Both documents and images can display equally well as PDFs, so converting files into this format is a quick and easy way to make them accessible for viewing.

2. PDF Files Are Easily Compressed

Sharing large image files can be a challenge for many organizations. High-resolution JPEG or TIFF files are often too large to share over email or web-based applications. Converting them to compressed PDFs is a quick way to reduce file size for easier sharing while still retaining a copy of the original file. Since the compressed version is in PDF format, there is less chance of version confusion when someone needs to access the original source image.

3. PDFs Are Widely Supported

Although PDFs once required specialized viewing software, thanks to JavaScript-based libraries like PDF.js, they can now be viewed by a conventional web browser. For all intents and purposes, this has made PDF a universal file format that can be viewed on any device. Converting a file into PDF ensures that it will be accessible to anyone who is granted access to it, regardless of the device or operating system they’re using.

4. PDFs Offer Security Protections

For many organizations, protecting privacy and confidential information is incredibly important. Converting document and image files into PDF format allows them to take advantage of the standard’s security features. Passwords can be set to authorize viewing and editing access to a file, which not only helps to ensure privacy but also limits who can make changes to a file so version control is easier to maintain. Files can also be converted into PDF/A format for secure archival purposes.

5. PDFs Support Annotation Markups

Most PDF viewing solutions support some form of annotation markups, which allows multiple contributors to make notes and comments on a file. Converting documents or images into a PDF facilitates this collaboration while safely preserving the original version of the file for future reference. Since PDF viewers provide a variety of annotation tools, they offer a great deal of flexibility when it comes to marking up images and documents without having to depend upon specialized software. Image and document files with additional annotation layers can also be converted into flattened PDFs for easier viewing.

Converting Files to PDF Using ImageGear

Accusoft’s ImageGear provides an extensive array of file conversion tools that allow developers to easily save multiple document and image file types into PDF format. With these conversion capabilities built into the back end of their applications, developers can help customers streamline their file management.

Converting Microsoft Documents to PDF

ImageGear supports the conversion of multiple Microsoft Office documents, including Word (DOCX/DOC), Excel (XLSX/XLS), and PowerPoint (PPTX/PPT). The conversion engine supports all text elements, raster images, and graphic shapes for Microsoft Office Open XML and Microsoft Office 97-2003 formats. It can convert the entire document into a PDF as well as any designated page or page ranges. The following examples show how this can be done using C#.

Converting Microsoft Word to PDF

To convert a Microsoft Word document in its entirety, the first step involves loading the ImageGear filters to create the input and output instances: 

ImGearFileFormats.Filters.Add(ImGearOffice.CreateWordFormat());
ImGearFileFormats.Filters.Add(ImGearPDF.CreatePDFFormat());

For the next step, the PDF library needs to be initialized:

ImGearPDF.Initialize();

The ImGearFileFormats.LoadDocument method is then used to read all pages of the file:

ImGearDocument igDocument;
using (FileStream fileStream = new FileStream(inputFileName, FileMode.Open,
       FileAccess.Read, FileShare.Read))
{
   igDocument = ImGearFileFormats.LoadDocument(fileStream);
}
Finally, the ImGearFileFormats.SaveDocument method is used to save the output PDF: 
using (FileStream fileStream = new FileStream(outputFileName, FileMode.Create,
       FileAccess.ReadWrite))
{
   ImGearFileFormats.SaveDocument(igDocument, fileStream, 0,
       ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, null);
}

Converting Microsoft Excel and PowerPoint to PDF

The process for converting Excel and PowerPoint files follows the same basic format as converting Word files. First, initialize the input, then modify the sample code from above for the appropriate formats.

To initialize Excel:

ImGearFileFormats.Filters.Add(ImGearOffice.CreateExcelFormat());

To modify sample’s open file dialog for XLSX/XLS extensions:

ofd.Filter = @"DOCX files (*.docx)|*.docx|XLSX files 
(*.xlsx)|*.xlsx|XLS files (*.xls)|*.xls";

To initialize PowerPoint:


ImGearFileFormats.Filters.Add(ImGearOffice.CreatePowerPointFormat());

To modify sample’s open file dialog for PPTX/PPT extensions:

ofd.Filter = @"DOCX files (*.docx)|*.docx|PPTX files 
(*.pptx)|*.pptx|PPT files (*.ppt)|*.ppt";

Converting an Image File to PDF

ImageGear PDF supports the conversion of multiple image types into PDF format just as easily as it converts documents, but the process looks a bit different in code. After initializing PDF support for ImageGear.NET, the following C# example can be used to load an image file and then save it as a PDF page. The conversion process can be used for any file format that ImageGear supports.

using System;
using System.IO;

using ImageGear.Core;
using ImageGear.Formats;
using ImageGear.Formats.PDF;
using ImageGear.Evaluation;

public void SaveImageAsPDF(string inputFilePathName, string outputFilePathName)
       {
           try
           {
               const int FIRST_PAGE = 0;

               // Initialize evaluation license.
               ImGearEvaluationManager.Initialize();
               ImGearEvaluationManager.Mode = ImGearEvaluationMode.Watermark;

               // Initialize common formats.
               ImageGear.Formats.ImGearCommonFormats.Initialize();

               // Add support for PDF and PS files.
               ImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePDFFormat());
               ImGearPDF.Initialize();

               // Load required page from a file.
               ImGearPage page = null;
               using (Stream stream = new FileStream(inputFilePathName, FileMode.Open, FileAccess.Read))
                   page = ImGearFileFormats.LoadPage(stream, FIRST_PAGE);

               // Save page as PDF document to a file.
               using (Stream stream = new FileStream(outputFilePathName, FileMode.Create, FileAccess.Write))
                   ImGearFileFormats.SavePage(page, stream, FIRST_PAGE, ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF);
           }
           catch (Exception exp)
           {
               // Write error to Console window.
               Console.WriteLine(exp.Message);
           }
           finally
           {
               // Call PDF engine terminating in any case.
               ImGearPDF.Terminate();
           }
       }

 

Add Conversion Flexibility to Your Application with ImageGear

Accusoft’s ImageGear provides applications with comprehensive conversion, annotation, and viewing support for PDF files. As part of the broader ImageGear collection, it also delivers powerful image processing capabilities and support for multiple document and image file types. These features can help turn any application into a robust document management platform capable of streaming workflows and empowering collaboration.

If you’re ready to see how the SDK will function as part of your development environment, start your free trial and get straight to the code.

The healthcare industry has undergone a profound change in the 21st century. A combination of technological advancements and regulatory pressures has encouraged providers to adopt new software platforms and update their existing IT stack. Gone are the days of physical file archives and cramped server rooms; today’s healthcare organizations are instead embracing innovative Internet of Things (IoT) devices, cloud-based file systems, and colocated server deployments that enhance their service capabilities and efficiency.

Unfortunately, not every provider is implementing new technology at the same pace. As science fiction author William Gibson famously observed, “The future is already here. It’s just not evenly distributed yet.” Today’s healthcare organizations must navigate a complex landscape of software solutions and overcome compatibility challenges in order to provide better service and care patients deserve.

The Drive for Interoperability

One of the key components of the 2010 Affordable Care Act was the push to promote interoperability among healthcare providers. The logic was fairly simple: for a healthcare marketplace to work effectively, patient information needs to be able to move freely between providers. That meant the myriad healthcare technology platforms being adopted by different organizations needed to be able to communicate with one another and share a common set of file formats.

The combined pressures of digital transformation and interoperability have led most hospitals and specialized health providers to implement picture archiving and communication systems (PACS). These digital archives and file management platforms allow providers to easily, store, retrieve, distribute, and present a variety of medical images, such as CT, MRI, and DR scans. They have largely replaced the expensive and complex manual filing systems used to store physical film and provided a far more secure means of protecting patient data.

Healthcare Image Processing

One of the advantages of shifting to digital scan formats is the ability to compress images while maintaining the ability to decompress them back to their original images. Poorly optimized compression tools can deteriorate the integrity of a high-resolution image, potentially obscuring key diagnostic indicators. In order to overcome these challenges, healthcare systems need image processing features capable of supporting rapid data compression, lossless transmission, and image cleanup.

Software developers working on PACS platforms and medical applications can turn to image processing SDKs like PICTools Medical to incorporate extensive compression and decompression capabilities into their solutions. These SDK tools can help overcome a variety of diagnostic imaging challenges, ensuring that complex medical files can be processed without any degradation of quality for easy viewing and management across multiple PACS platforms.

The Role of EHR Systems

Part of the push for interoperability included the adoption of electronic health records (EHR) systems, which digitized patient files to make them easier to share between healthcare providers. One of the challenges that came along with this adoption, however, was the handling of high-resolution medical images. While most healthcare providers have implemented some form of an EHR system, many of them do not have a PACS solution, especially if they don’t do any kind of medical scanning on-site. That means their ability to view certain types of medical images is quite limited. 

In theory, the medical industry has already solved this challenge with the development of the DICOM standard. Short for “digital imaging and communications in medicine,” DICOM was originally developed in a joint venture between the American College of Radiology (ACR) and National Electrical Manufacturers Association (NEMA) to ensure that healthcare providers would be able to view medical images no matter which vendor’s modality originally created them.

Unfortunately, the size and complexity of DICOM files often make them difficult for providers to manage. For instance, most EHR systems can transmit DICOM files (through a DICOM out or DICOM send functionality), but they often cannot view or annotate them. That’s because Windows doesn’t recognize DICOM files as image files. More importantly, large DICOM files often exceed the digital transfer limits of common communication channels like email. That leads to DICOM images being transferred on physical mediums, like discs or flash drives, that include viewer software.

Unlocking the Potential of DICOM 

Healthcare technology developers can help expand EHR functionality and realize the potential of DICOM by building viewing, conversion, and compression capabilities into their applications. Medical imaging SDKs like ImageGear Medical can not only convert DICOM files into a variety of easily viewable formats, but also perform essential cleanup functions to ensure that images maintain the highest integrity possible. High-level APIs can abstract or redact the details of a DICOM file to ensure the anonymity of the patent data as well as to compress it without degrading the image, making it easy to transfer files over secure channels rather than resorting to physical mediums or non-compliant public cloud platforms.

The ability to convert DICOM files into more easily managed formats also helps providers to share more information with patients. Diagnostic scans, for instance, can be quickly opened on IoT devices like a tablet and viewed entirely within the local application without having to use special equipment. Images can even be transferred directly to patients, allowing them to conveniently view them on their own devices. And thanks to lossless compression, medical offices can transmit the source DICOM files to other organizations when referring a patient to an outside provider.

Accusoft Medical Imaging Toolkits

With more than two decades of experience working with the imaging needs of the healthcare industry, Accusoft offers a variety of medical imaging toolkits to help software developers enhance their healthcare applications. Whether you’re developing a standalone imaging solution or adding viewing, compression, and cleanup features to your EHR system, our collection of SDKs and APIs can provide core medical image functionality so you can focus on building a better user experience and get to market faster. Learn more about how our medical imaging toolkits are improving outcomes in the healthcare industry and accelerating digital transformation trends.

Accusoft’s FormSuite for Structured Forms is a powerful SDK that allows you to integrate character recognition, form identification, document cleanup, and data capture capabilities into your software applications. You can set up unique form templates based on your processing needs and then design customized output architecture to extract data for delivery to a database or other downstream applications, helping you get to production faster or bring a new level of functionality to your legacy systems.

Setting all of that functionality up, however, can be a daunting task, especially if you’re working with a wide variety of form types. That’s why our FormSuite enablement services team is available to help you implement the features you need to ensure lasting results. Whether you’re facing bandwidth constraints or lack the resources to build expertise quickly, our FormSuite experts bridge the gap to make your project a success. Our enablement services team takes a five step approach to every engagement.

The Accusoft Approach to Enablement Services

Step 1: Thorough Architecture Review

We start by conducting a top to bottom analysis of your production or operational environment. Our review not only evaluates your system architecture and data workflow, but also breaks down the details of your potential use cases and existing work samples. 

Step 2: Identifying the Right Fit

Next, we determine the best FormSuite options based on your unique requirements and build you a custom enablement plan that will equip you with the instruction and assistance you need for a successful implementation.

Step 3: Training Your Team

Armed with information about your application’s specific requirements, we develop a customized training program to give your team a solid foundation for future development and ongoing maintenance. From guidance on form template creation and image enhancement to working with the forms API, we provide you with targeted guidance designed to help you solve potential challenges unique to your application environment.

Step 4: Implementation Support

Once the training is complete, you’ll have the foundational knowledge required to build the forms processing workflows your application requires. Our FormSuite experts remain on call to answer your questions so you can achieve your integration faster and ensure that you’re processing forms accurately.

Step 5: Preparing for Long-Term Success

Our enablement services prepare you to manage your implementation over the long term. We not only show you how to maintain the current environment, but also identify potential opportunities to deploy new features as your application scales in the future.

Keep the Partnership Going

Following your integration, we also provide ongoing support options to our customers whether or not they’ve utilized our enablement services. You get free Upgrade Support for 90 days after initial purchase, which includes email support and product upgrades. After that period, you can extend Upgrade Support, or elect to transition to our Standard Support or Priority Support annual plans.

To learn more about FormSuite for Structured Forms enablement services, talk to one of our solutions engineers. We’re ready to help you get your integration started!

Question

What are the best quality images to use when processing form data and recognition?

Answer

In all cases, you’ll want to have your images as clear and as clean as possible. For any particular procedure, please consider the following: OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white will allow the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human was reading it, you’ll want the text objects on the image to be as legible as possible. For ICR, make sure that the characters are printed (no cursive text, etc). Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. You’ll also want to make sure that the bars in the barcodes are clearly defined on the image and are not mal-formed (for example, the barcodes should have the proper start and stop sequence, etc). As always, clear as much noise from the image as possible. Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Make sure that your resolution is consistent between your form templates and incoming batch images as well. Form templates should only contain data that is common to every image that is being processed (i.e. – Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.

Question

What quality should my images be for processing form data and recognition using FormSuite?

Answer

In all cases, you want to have your images as clear and as clean as possible. For any particular procedure, please consider the following:

OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white allows the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human were reading it, you want the text objects on the image to be as legible as possible. For ICR, ensure that the characters are printed (no cursive text, etc).

Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. Ensure that the bars in the barcodes are clearly defined on the image and are not malformed (for example, the barcodes should have the proper start and stop sequence, etc). Clear as much noise from the image as possible.

Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Ensure that your resolution is consistent between your form templates and incoming batch images. Form templates should only contain data that is common to every image that is being processed (i.e. Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.

Question

What quality should my images be for processing form data and recognition using FormSuite?

Answer

In all cases, you want to have your images as clear and as clean as possible. For any particular procedure, please consider the following:

OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white allows the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human were reading it, you want the text objects on the image to be as legible as possible. For ICR, ensure that the characters are printed (no cursive text, etc).

Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. Ensure that the bars in the barcodes are clearly defined on the image and are not malformed (for example, the barcodes should have the proper start and stop sequence, etc). Clear as much noise from the image as possible.

Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Ensure that your resolution is consistent between your form templates and incoming batch images. Form templates should only contain data that is common to every image that is being processed (i.e. Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.

Question

Can I host multiple PrizmDoc viewers on a single page?

Answer

It is possible to host multiple viewers on a single page. The following example leverages Bootstrap’s tab implementation:

<!DOCTYPE html>

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

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

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

    <!-- PrizmCSS -->
    <link rel="stylesheet" href="https://pcc-demos.accusoft.com/static/viewer-latest/css/viewercontrol.css">
    <link rel="stylesheet" href="https://pcc-demos.accusoft.com/static/viewer-latest/css/viewer.css">

    <!-- Inline Stylesheet -->
    <style>
        body {
            overflow-y: hidden;
        }
        #viewer1, #viewer2 {
            height: calc(100vh - 3em);
            width: 100%;
        }
    </style>

</head>
<body>
    <!-- #main -->
    <main class="container">
        <ul class="nav nav-tabs" role="tablist">
            <li class="nav-item">
                <a class="nav-link active" id="viewer1-tab" data-toggle="tab" href="#viewer1">Viewer 1</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" id="viewer2-tab" data-toggle="tab" href="#viewer2">Viewer 2</a>
            </li>
        </ul>

        <div class="tab-content">
            <div class="tab-pane fade show active" id="viewer1" role="tabpanel">
                <div id="viewer1">
                </div>
            </div>
            <div class="tab-pane fade" id="viewer2" role="tabpanel">
                <div id="viewer2">
                </div>
            </div>
        </div>
    </main>

    <!-- Libraries -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.1/umd/popper.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

    <!-- PrizmJS -->
    <script src="https://api.accusoft.com/v1/docstore/viewer/assets/classic/bundle.js"></script>
    <script src="https://pcc-demos.accusoft.com/static/viewer-latest/js/jquery.hotkeys.min.js"></script>
    <script src="https://pcc-demos.accusoft.com/static/viewer-latest/js/viewercontrol.js"></script>
    <script src="https://pcc-demos.accusoft.com/static/viewer-latest/js/viewer.js"></script>

    <!-- Inline Script -->
    <script>
        var viewingSessionId1;
        var viewerControl1;
        var viewingSessionId2;
        var viewerControl2;

        $(document).ready(function() {
            $.ajax({
                "type": "post",
                "url": "https://api.accusoft.com/PAS/V1/ViewingSession",
                "headers": {
                    "acs-api-key": ""
                },
                "data": JSON.stringify({
                    "source": {
                        "type": "url",
                        "url": ""
                    }
                })
            }).done(function(response) {
                viewingSessionId1 = response["viewingSessionId"];

                // Initialize viewer
                viewerControl1 = $("#viewer1").pccViewer({ 
                    documentID: viewingSessionId1,
                    imageHandlerUrl: "https://api.accusoft.com/v2/viewers/proxy",
                    language: languageItems,
                    template: htmlTemplates
                }).viewerControl;
            });

            $.ajax({
                "type": "post",
                "url": "https://api.accusoft.com/PAS/V1/ViewingSession",
                "headers": {
                    "acs-api-key": ""
                },
                "data": JSON.stringify({
                    "source": {
                        "type": "url",
                        "url": ""
                    }
                })
            }).done(function(response) {
                viewingSessionId2 = response["viewingSessionId"];

                // Initialize viewer
                viewerControl2 = $("#viewer2").pccViewer({ 
                    documentID: viewingSessionId2,
                    imageHandlerUrl: "https://api.accusoft.com/v2/viewers/proxy",
                    language: languageItems,
                    template: htmlTemplates
                }).viewerControl;
            });
        });
    </script>
</body>
</html>