Technical FAQs

Question

I want the Thumbnail tab in PrizmDoc Viewer to be open by default. How can this be done?

Answer

A simple solution could be to simply implement a ‘click-on-the-button’ when you first open the Viewer, if you’re fine with the user being able to close the thumbnail pane:

$("[data-pcc-toggle=\"dialog-thumbnails\"]").click();

If you’d rather have the tab always open, in viewer.js there’s a function called toggleDialogs(opts) that checks for whether the thumbnail pane is being toggled through the opts.toggleID, and if so, adds openClass to the thumbDialog. You could modify this logic so that the thumbnail pane is permanently open.

Question

In some other viewers, there are highlights or markers that appear on the UI to indicate that annotations are available for a given page or document. Is there a way to implement this in PrizmDoc?

Answer

Sure can, you just need to make a MarkupLayerRecords request to determine if there are marks that pertain to the given Viewing Session. Keep in mind that documents don’t really have a specific set of annotations associated with them though — Markup IDs do, and you can specify any Markup ID you want when you create a viewing session:

// Add rules to your CSS for the following classes.
// The actual style information can be whatever you like.
//
// .mark-indicator {
//     background-color: gold !important;
// }
//
// .marked-page-indicator {
//     background-color: gold !important;
// }

let pasUrl = "http://localhost/pas-service"; // Example PAS proxy URL
let viewingSessionId = <%= viewingSessionId %>; // Example viewingSessionId
let thumbnailButton = $(".pcc-icon-thumbnails");
let pageIndicatorsAdded = false;
let thumbnailsClicked = false;
let marksRetrieved = false;
let markedPages = {};

async function addPageIndicators() {
    console.log("Attempting to add page indicators...");
    if (thumbnailsClicked && marksRetrieved && !pageIndicatorsAdded) {
        console.log("Conditions met.");

        let wrappers = $(".pccThumbnailWrapper");

        wrappers.each(function(index, wrapper) {
            if (markedPages[index]) {
                $(wrapper).addClass("marked-page-indicator");
            }
        });

        pageIndicatorsAdded = true;
    } else {
        console.log("Conditions not met");
    }
}

thumbnailButton.click(function() {
    console.log("Thumbnails button clicked.");

    thumbnailsClicked = true;

    addPageIndicators();
});

async function apiCall(type, url, body = {}) {
    return await $.ajax({
        "type": type,
        "url": url,
        "contentType": "application/json",
        "data": JSON.stringify(body)
    });
}

async function createMarkIndicators() {
    let output = await apiCall("GET", `${pasUrl}/MarkupLayers/u${viewingSessionId}`);

    if (output.length > 0) {
        console.log("Found layers.");

        thumbnailButton.addClass("mark-indicator");

        let layers = await Promise.all(output.map(function(element) {
            return apiCall("GET", `${pasUrl}/MarkupLayers/u${viewingSessionId}/${element.layerRecordId}`);
        }));

        layers.forEach(function(layer) {
            layer.marks.forEach(function(mark) {
                markedPages[mark.pageNumber - 1] = true;
            });
        });

        marksRetrieved = true;

        console.log("Marks retrieved.");

        addPageIndicators();
    } else {
        console.log("No layers found.");
    }
}

createMarkIndicators(); 

Accusoft Banner

Introduction

A large government agency with millions of employees needed to manage personnel records and payment information while also making documents and images easily accessible for all users. Each document trail spanned the duration of the employee’s time with the agency, resulting in a repository containing hundreds of millions of documents. The existing system used a combination of custom-developed, Windows-based image viewers that were cumbersome, difficult to maintain, and presented security risks. 

Overview

As the system struggled to keep up with demand, employees became increasingly frustrated with the system. Rather than viewing documents within the system, they began using workarounds like printing out files or saving them to another device, both of which presented serious security risks since the records contained personally identifiable information. The agency needed a solution that could manage hundreds of millions of documents while still providing users with simple, secure, and quick access to personnel records and payment information. 

Although the document repository’s legacy viewing solution was no longer able to meet the agency’s needs, developing a new document viewer was prohibitively expensive and required expertise its IT team did not possess. Rather than building a solution from scratch, it made more sense to evaluate viewing integrations available on the market. The agency set out to find a viewer that could support multiple document types, including TIFF and PDF/A, for both viewing and archival purposes. Whatever solution the IT team chose to adopt would have to integrate smoothly into the existing legacy system to avoid a costly and time-consuming overhaul. 

Challenges

After evaluating several options, the agency turned to Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®. As a Java-based viewer that uses HTML5 to render files for viewing, PrizmDoc® for Java would allow the document repository to access files quickly and easily. PrizmDoc® for Java’s extensive file format support allowed the agency to render PDF, Word, Excel, AFP, DWG, TIFF, and more in one universal viewer. The integration’s built-in library eliminated the need for a third-party application or additional license, further simplifying the agency’s document management processes. 

Another key priority was giving employees the ability to access documents from multiple devices. In the past, the system’s legacy viewer only allowed them to open and view documents on a desktop with the right software installed. To streamline the employee experience, the agency required a viewer that could be accessed from any device that supports a web browser, including tablets and smartphones. PrizmDoc® for Java’s true cross-platform support and complete mobility provided the flexibility the agency needed to access documents from anywhere, at any time. The integration’s HTML5 technology and Java-based viewing allowed users to view and manipulate files within the browser, eliminating the need for an external application. 

PrizmDoc® for Java’s quick installation and integration process made it the ideal solution for the agency. Installing PrizmDoc® for Java’s document viewer took less than 10 minutes for proof of concept (POC) testing on any desktop, laptop, or virtual machine. The integration also provided APIs and developer tools to make integrating and leveraging the technology simple and easy, including RESTful content handlers that allowed for a more flexible development and deployment process.

Results

PrizmDoc® for Java’s high-speed viewing for large files allowed document rendering and processing to be split between the server and browser, delivering an extremely high-speed response. The integration’s advanced features, including annotation, redaction, splitting, merging, and more, provided far more functionality than was possible under the legacy viewer. PrizmDoc® for Java’s robust thumbnail panels also simplified working on large documents using full-panel thumbnail displays, as well as the option to adjust thumbnail size. 

By implementing PrizmDoc® for Java, the government agency was able to provide more streamlined access to personnel and payroll records, saving employees and HR personnel time and money while eliminating security and management issues associated with the previous viewing solution. Millions of users are now able to view critical information related to their records via any device that has access to a web browser. PrizmDoc® for Java’s robust document support and easy-to-use interface made it an essential tool for the agency’s document management and collaboration processes. The agency was able to continue using their existing repository system while also gaining the benefits of a modern, user-friendly document viewer.

About Accusoft

Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including Docubee, PrizmDoc Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com.  

 

Enterprises are continuously engaged in a process of evaluating their operations to identify opportunities for improvement. When one of the world’s leading mortgage lenders took a closer look at how it was handling documents to process applications, it quickly recognized the need to implement a solution that would allow them to scale capacity and enable faster loan processing. The company’s diversified businesses included banking, capital markets, and insurance, all of which combined to handle more than $1 trillion in mortgages, with nearly $2 billion in new loans each day.

Overview

For many years, the lender had processed applications by hand, entering information from paper and electronic forms into a mortgage processing application. While users had to thumb through paper documents, electronic loan documents were made available through a content management system and a dual-monitor workstation. One screen contained the loan processing application and a list of electronic loan documents. The other screen displayed the selected document and allowed the user to browse its contents. 

In examining their loan purchasing process, the lender discovered that while it took 7-9 days to close a paper document loan, electronic documents closed in just 4-5 days. Unfortunately, the legacy content management system limited scalability and performance, and a grossly underpowered document viewing application further impacted user productivity. The potential revenue gain in expanding their use of electronic documents was enormous – in terms of enhanced efficiency alone. To retain their competitive edge in a challenging market, the lender made the decision to replace their legacy CMS with an enterprise solution.

Challenges

But in order to realize the full productivity potential of the new enterprise CMS system, the lender also needed to upgrade its client document viewing application. The new viewer needed to provide reliable viewing for various types of electronic forms, including scanned documents, faxes, and emails in TIFF, JPEG, and PDF formats. To meet productivity demands, the first page of each document had to be accessed within two seconds. The technology also had to be entirely web-based since no documents could be stored on a client’s desktop or hard drive due to compliance constraints. From a user experience standpoint, the viewing solution also needed to provide scalable thumbnail rendering, accommodate mouse and keyboard navigation with “hot keys,” and be able to meet rigorous load-testing requirements. 

After a thorough review of available options, the lender selected Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®, HTML5 viewing technology to address its complex functionality and security requirements. Critically, PrizmDoc® for Java supported the lender’s required document set of PDF, TIFF, and JPEG, as well as AFP, PCL, MS Office, and many other important business document formats, which provided the growing lender with additional flexibility for future expansion. The viewer also delivered a variety of thumbnail features, including page rotation sync, full panel view, and adjustable size options. PrizmDoc® for Java’s configurable user interface would also make it easy to implement navigation options and hot keys that enhanced productivity. 

The lender had little time to dedicate to the integration with its new enterprise CMS solution, especially since much of the integration time would be taken up by the load-testing process. Fortunately, PrizmDoc® for Java’s intuitive API made it easy to incorporate the product seamlessly while leaving plenty of time for load testing. 

Results

Replacing their legacy content management system and integrating Accusoft’s powerful PrizmDoc® for Java high-speed HTML5 viewer enabled the lender to achieve its desired performance standards. Because PrizmDoc® for Java is completely web-based and requires no software to be installed on the client’s desktop, the lender could easily roll out a scalable solution that met critical security and business continuity objectives within a single, high-speed viewing application. 

The viewer’s server component renders and delivers individual pages to the client quickly and seamlessly, well within the lender’s required sub-two-second access requirements, even when accessing large, multi-page loan documents in various geographical locations. PrizmDoc®for Java now helps to increase the mortgage lender’s productivity by allowing users to access, view, annotate, and manipulate loan documents on the fly without ever touching the client’s local hard drive.

As a result, the lender can now import daily peak loads of more than half a million documents and deliver them to users across the enterprise in under two seconds, improving their overall mortgage processing time by more than 40 percent.

About Accusoft

Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including Dcoubee, PrizmDoc Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com. 

ocr optical character recognition

Effective document management is now a top priority for organizations, but for many, it remains a challenge. As noted by recent AIIM survey data, companies are struggling to handle both the documents they have and the rapid uptake of new information. In fact, 43 percent said their biggest priority is effectively leveraging the structured and unstructured content they already have, while 57 percent are focused on understanding the overwhelming big data.  Optical character recognition (OCR) is a critical component of document management.

For software development firms, this poses a particular challenge. Products are no longer feature complete without critical end-user functions such as advanced optical character recognition and powerful search. However, adding this functionality is not as easy as it sounds. Developers building out this comprehensive construct from the ground up requires both time, effort, and continued maintenance, which is a large undertaking for any company.

Accusoft’s ImageGear SDK offers a way to bridge the OCR gap with comprehensive image processing and manipulation capabilities that both streamline software development and deliver on end-user expectations.*


What is ImageGear?

ImageGear easily integrates into existing applications to deliver cutting-edge document management functionality at scale. Available for both .NET and C/C++ frameworks, ImageGear allows developers to quickly deploy and white-label key features including image processing, manipulation, conversion, and PDF and document search.

This add-on OCR functionality delivers highly-accurate optical character recognition to any .NET (C#) or C/C++ application. ImageGear’s OCR add-on provides full-page character recognition for more than 100 languages — including both Western and Asian languages such as Korean, Japanese, and Chinese character sets. It’s capable of recognizing multiple languages within a single image for enhanced document management. Other OCR features include:

  • Automatic page segmentation into individual zones for processing
  • Type assignment per zone based on defined flows, tables, or graphics
  • Table detection with advanced technology to enhance data reconstruction output
  • Entire page or individual region image processing
  • Zone definition by user, existing files, or detected automatically by the OCR engine

In addition, software developers can enhance ImageGear OCR functionality by leveraging both predefined and customizable dictionaries to ensure validated results using regular expressions. 


Why Optical Character Recognition (OCR) Matters to End-Users

Advanced OCR integration makes it easier for end-users to find what they’re looking for, when they’re looking for it. Instead of forcing users to find additional apps that deliver specific services, in-app OCR delivers increased satisfaction by streamlining user search functionality.

Common use cases include:

  • Legal eDiscoveryThe eDiscovery process is a critical — and often complex — stage of legal case preparation. Firms need to quickly find key terms, phrases, and images within legal documents to ensure they meet both client expectations and compliance obligations. With many forms now scanned and stored in non-standard file formats that contain form fields, text boxes, and digital imagery, OCR is essential to help lawyers streamline the process of eDiscovery at scale.

 

  • Financial Document ProcessingClients now expect loan applications and credit card applications to be processed at scale and speed. This is especially critical as firms embrace the idea of remote work — both staff at home and those in the office need end-to-end OCR functionality to deliver complete document management.

 

  • Insurance Documentation Assessment Insurance claims are both complex and comprehensive, requiring complete documentation from clients, contractors, and compliance agencies. As insurance firms move to tech-first frameworks to enhance document processing, speed, and accuracy, OCR makes it easy for staff to find specific data and ensure documentation is complete. 

Integrating OCR

Advanced OCR functionality won’t deliver expected outcomes if integration is cumbersome and complex. ImageGear streamlines this process with easy SDK implementation for both .NET and C/C++.

ImageGear .NET can be easily deployed on multiple platforms. These .NET deployments include ASP.NET functions such as image display, thumbnail display, annotation support, and cloud capture along with WPF printing and annotation support. ImageGear for C/C++, meanwhile, offers support for several platforms as well. Check out the developer resources section to see an updated list.


How Your Clients Use Optical Character Recognition (OCR)

PDFs remain the go-to file format for many industries, offering both standardized image and text conversion along with the ability to easily set or restrict document permissions. The problem? PDFs are notoriously difficult to search, making it hard for end-users to quickly find the text or data they need.

ImageGear makes it easy to OCR PDFs using the ImGearRecPage.Recognize Method, which leverages the zone list of the image to deliver accurate OCR — or, if this list is empty, automatically calls the page-layout decomposition process (auto-zoning) to complete the OCR process.

C# supports OCR to PDF.


using System.IO;
using ImageGear.Core;
using ImageGear.Formats;
using ImageGear.Evaluation;
using ImageGear.Recognition;

namespace ImageGearTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize evaluation license.
            ImGearEvaluationManager.Initialize();
            ImGearEvaluationManager.Mode = ImGearEvaluationMode.Watermark;

            // Initialize the Recognition Engine.
            ImGearRecognition igRecognition = new ImGearRecognition();

            // ImageGear assemblies require explicit initialization at application startup.
            ImGearCommonFormats.Initialize();

            // Open a FileStream for our output document.
            using (FileStream outputStream = new FileStream(@"c:\temp\outputDoc.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
                // Open a FileStream for our source multi-page image.
                using (FileStream multiPageDocument = new FileStream(@"c:\temp\test.tif", FileMode.Open))
                {

                    // Load every page of the multi-page document. Starting at page 0 and loading the range of spaces specified.    
                    // Since the range is -1, that specifies that all pages shall be loaded.     
                    ImGearDocument doc = ImGearFileFormats.LoadDocument(multiPageDocument, 0, -1);

                    // Determine the amount of pages in the multi-page image.
                    int numPages = ImGearFileFormats.GetPageCount(multiPageDocument, ImGearFormats.UNKNOWN);

                    // Recognize each page of the multi-page document and add the results to outputStream.
                    for (int pageNumber = 0; pageNumber < numPages; pageNumber++)
                    {

                        // Cast the current page to a raster page and import that page.
                        using (ImGearRecPage igRecPage = igRecognition.ImportPage((ImGearRasterPage)doc.Pages[pageNumber]))
                        {

                            // Preprocess the page.
                            igRecPage.Image.Preprocess();

                            // Perform recognition.
                            igRecPage.Recognize();

                            // Add OCR results to the outputStream.
                            igRecognition.OutputManager.WriteDirectText(igRecPage, outputStream);

                        }
                    }
                }

            }
            // Dispose of objects we are no longer using.
            igRecognition.Dispose();
        }
    }
}

 


OCR Access and Analysis

Advanced OCR isn’t enough in isolation — developers must also empower end-users to quickly access and analyze OCR output. ImageGear offers multiple options to help streamline this process, such as:

  • Storage of Output as Code Pages
  • Export to Text Format
  • Export to PDF
  • Export to MRC PDF
  • Export to a Formatted Document

Find Your Best Fit

ImageGear OCR makes it easy for end-users to quickly search critical documents, find the data they need, and analyze optical character recognition output, but don’t take our word for it. Seeing is believing. Test ImageGear in your own environment and discover the difference of advanced OCR. 

*Optical character recognition is an ImageGear add-on and must be requested upon purchase of a license.

 

On March 10, 2021, Accusoft announced the arrival of the free-to-use Accusoft PDF Viewer, the latest addition to its family of PDF solutions. An entirely client-side integration with no complicated server dependencies, this lightweight JavaScript PDF viewer also features a responsive UI for out-of-the-box mobile support.

“We’re excited to offer this free version of the Accusoft PDF Viewer to developers,” says Jack Berlin, CEO of Accusoft. “Our team worked hard to build a viewer that’s a step above what you can get from open source offerings. We think it’s going to solve a lot of the problems developers typically encounter with existing PDF libraries.”

Accusoft PDF Viewer integrates into an application quickly and easily with just a few snippets of code. It runs entirely within the browser to deliver an optimized viewing experience across all devices. The intuitive UI controls allow users to zoom, pan, jump to page, navigate thumbnails, and pinch-to-zoom on mobile screens with ease. And thanks to lightning fast full-text search, locating essential information is easier than ever.

“Accusoft PDF Viewer is great for developers because it allows them to maintain complete control over documents without having to set up any cumbersome server infrastructure,” says Mark Hansen, Product Manager. “Having a responsive UI that adapts to mobile displays will also increase their flexibility tremendously.”

The free version of Accusoft PDF Viewer allows developers to quickly add powerful viewing capabilities to their web applications. We’re currently working on additional features (such as annotation and eSignature) that will be included in an upgraded paid version.

To learn more about Accusoft PDF Viewer or download it for a first-hand look, please visit our website.

About Accusoft:
Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including OnTask, PrizmDoc™ Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com.

JS PDF viewer Accusoft

Document viewing capabilities are no longer a specialized feature that require dedicated applications. Thanks to powerful software integrations, developers can now build PDF viewing into their solutions to create a better user experience and streamline workflows. The growing popularity of mobile devices, however, has posed a few challenges to development teams accustomed to building an exclusively desktop experience, especially when it comes to JavaScript PDF viewers. That’s why one of Accusoft’s key development goals has focused on making a JS PDF viewer responsive to mobile screens.

The Increasingly Mobile Internet

Since 2017, mobile devices have accounted for about half of global internet traffic. This trend has been fuelled primarily by a combination of improved cellular network coverage and the ever-increasing processing capabilities of the average mobile device. It’s hardly a surprise, considering that the latest smartphones are often the most powerful computing device people own. Even for consumers who own desktop or laptops as well, mobile devices make it easy to access internet services on the go, allowing them to manage finances, collaborate on work tasks, or utilize eLearning resources (or watch cat videos).

Today’s customers expect organizations to provide applications that deliver a consistent experience across all devices, regardless of screen size. The era of designing software exclusively for desktop computers and treating mobile support as an afterthought is long gone. If an application’s mobile experience doesn’t at least match that of the competition, customers will quickly make a change.

Viewing Challenges on Mobile Devices

Mobile devices can present a few challenges for application developers, especially when it comes to viewing documents like PDFs. While there are many PDF reader apps available for mobile platforms, they typically require users to download a file to local storage or to a cloud service in order to open a document. In addition to being inconvenient, this often leads to some presentation problems because the reader may not render the PDF exactly as the creator intended, especially if it’s not linearized.

Developers could, of course, rely upon the mobile browser to display documents, but this also introduces problems. As with external reader apps, the browser viewer may not render the document as intended, which creates an uneven user experience across multiple platforms. More importantly, the browser’s interface may lack key controls that enhance the viewing experience on mobile devices, especially if the viewer is little more than a basic PDF.js library.

PDF.js and Mobile PDF Viewing

The open-source PDF.js library was originally designed for Mozilla’s Firefox browser, but it has become the basis for a broad range of PDF viewers due to its flexibility. That’s partly why the Accusoft PDF Viewer uses PDF.js as its foundation. However, one area where that versatility is sorely lacking is with regards to mobile support.

More specifically, PDF.js doesn’t supply a UI that is responsive for different screen types. It was designed to render PDFs to a conventional computer display and provides the expected tools needed to navigate a document using a keyboard and mouse interface. Even if developers were to incorporate the PDF.js library into their application, they would still need to build a new user interface for mobile devices. Otherwise, key mobile viewing features like touch scrolling and pinch to zoom would be handled not by the viewer, but by the device’s touchscreen interface. 

While this might sound like a small distinction, it can actually create serious problems when it comes to rendering the document at different zoom levels. Essential features like text search may also be rendered useless by the poor interface, and the lack of thumbnail previews could make navigating the document tedious.

Making a JS PDF Viewer Responsive

Today’s developers need viewing integrations that offer out-of-the-box mobile support to deliver a consistent viewing experience. That’s why we built upon the foundation of PDF.js to create a responsive viewer interface that instantly adapts to any screen size. Easily integrated into any web-based application, the Accusoft PDF Viewer immediately determines what type of device is being used when a document is opened. If it’s a mobile device, the viewer replaces the controls used for desktop viewing with dedicated mobile controls designed for a touchscreen. 

Key touch features like pinch-to-zoom allow users to interact with PDFs on mobile and tablet devices just as easily as they could with a mouse and computer screen. That usability is the key component of making a JS PDF viewer responsive. Mobile screens should never be treated like conventional screens. By integrating a mobile-ready viewer into their web application, developers can ensure viewing consistency across platforms while also allowing people to access documents where they want and when they want them.

Integrate Responsive PDF Viewing in a Snap

Building an application that includes a JS PDF viewer responsive to mobile screens is easier than ever thanks to Accusoft PDF Viewer. As a flexible JavaScript PDF library, it integrates quickly into any web-based application with just a few lines of code and no complicated server configurations. Our industry-leading expertise with imaging technology has allowed us to make substantial improvements to the way PDF.js renders PDF documents and ensure high levels of resolution regardless of zoom level or screen DPI.

To find out what Accusoft PDF Viewer can do for your application, download the Standard Version today at no cost and test its powerful viewing features in your development environment. With only a few lines of code, it’s the fastest way to add responsive PDF viewing to your web-based software solutions.

For expanded features like annotation markup tools, eSignature capabilities, UI customization, and white labeling, consider upgrading to Accusoft PDF Viewer Professional Version. Download our fact sheet for a detailed breakdown in available features.

 

.net document viewer

Adding document viewing features to an application can be a challenge. Although there are many open source options available, finding a suitable ASP.NET document viewer or .NET image viewer that provides the right level of flexibility and functionality often requires a more specialized solution. Fortunately, .NET developers have good options when the time comes to integrate document viewing into their software, which helps them to focus on other application features.

The API Document Solution

Rather than building a dedicated viewer within their .NET application, many developers instead turn to an HTML5 viewer integration that uses REST APIs for their document needs. Since these viewers work within the web browser and can support any programming language, they provide the right balance of versatility and performance for most software applications. An HTML5 document viewer ensures a consistent viewing experience across multiple software platforms and browsers used within an enterprise environment.

Of course, if all an application needed to do was view files, it could simply use one of many open-source solutions. The problem is that these viewers typically only view one type of file, which means that the application also needs the ability to convert files into different formats. Depending upon the library in question, this could quickly escalate into a code-heavy solution that bogs down application performance and introduces multiple security vulnerabilities. If poor conversion tools are put in place, there’s also a strong likelihood that documents will not render accurately.

An HTML5 viewer with the right APIs can easily overcome these document management challenges for a .NET application. Conversion, annotation, comparison, and redaction features can all be integrated as part of a comprehensive viewing framework that doesn’t require developers to build anything from scratch or rely upon intrusive plugins that create risky dependencies.

How Accusoft APIs Enhance Your .NET Application

Accusoft’s PrizmDoc Viewer was designed to provide a broad range of document processing capabilities in addition to its core HTML5 viewing features. Once integrated into a .NET application, it allows developers to deploy REST API calls to convert files into new formats, split and merge documents, create page thumbnails, markup documents, and perform high-volume text searches. As an HTML5 viewer, PrizmDoc Viewer can deliver all of that functionality right within the browser rather than resorting to external applications.

The primary advantage of REST APIs is that they can be used from any programming language, so they don’t have to be custom-built to serve as an ASP.NET document viewer. That versatility does come with a tradeoff, however. Processes like uploading files, converting them, and then downloading outputs all require a series of HTTP requests. While this isn’t a particularly difficult process, it is slightly more resource-intensive than a solution built using the same programming language as the application. 

That’s why we developed a .NET SDK library that wraps around the server-related functions of PrizmDoc Viewer. Available for both .NET Core and .NET Framework, this SDK library wraps around the server’s REST APIs to make it easier to utilize server functionality in .NET applications.

For .NET developers looking for a better way to view and process documents, the PrizmDoc .NET SDK can help them access conversion, redaction, and annotation features without compromising the performance of their .NET applications.

Getting Started with PrizmDoc .NET SDK

In order to implement the .NET wrapper, developers just need to follow a few simple steps. 

1. Gain Access to a PrizmDoc Server Deployment

There are two ways to access PrizmDoc Server, which will allow you to carry out a variety of document processing functions. You can host a server on-premises as part of a PrizmDoc Viewer integration or sign up for a PrizmDoc Cloud account to use Accusoft’s cloud-hosted deployment.

2. Add the PrizmDoc Server .NET SDK Package

Next, download the free, open source .NET SDK library from NuGet or GitHub and add it to your application project.

dotnet add package Accusoft.PrizmDocServerSDK

 

3. Create a new PrizmDocServerClient

Once the .NET wrapper is in place, it’s time to construct a new PrizmDocServerClient and connect it to the server.

For a self-hosted PrizmDoc Server that’s part of a PrizmDoc Viewer deployment, the base URL is all that’s needed:

var prizmDocServer = new PrizmDocServerClient("http://localhost:18681");

 

If the you’re using PrizmDoc Cloud, you’ll need to provide the base URL along with your API key:  

var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "YOUR_API_KEY");

 

4. Begin Document Processing

Now that everything is in place, you can start processing and viewing documents within your .NET application. Our How To Guides provide some examples of common use cases, and you can also turn to the API Reference for additional guidance and information.

Get the Document Viewing Features Your .NET Application Needs

Accusoft’s PrizmDoc Viewer delivers the versatile HTML5 viewing capabilities that can set your .NET application apart from the competition. Thanks to the PrizmDoc Server .NET SDK wrapper, you can leverage the power of our REST APIs without needing to build out a customized viewing solution from the ground up.

Find out how easily you can manage your document needs with PrizmDoc Viewer’s browser-based functionality today. Sign up for a free trial to test our HTML5-powered viewer in your .NET environment.

image processing

Accusoft’s ImageGear is a powerful image processing SDK integration that allows software developers to give their applications the ability to open, convert, and transform multiple image file formats. Given the complexity of image processing tasks, turning to a comprehensive SDK can save significant time and headaches in the software development cycle. Rather than building image manipulation features from scratch or seeking out multiple open source solutions for every processing need, developers can use ImageGear to add image processing essentials and whatever capabilities they need to keep their project on schedule.

8 Essential ImageGear Features

ImageGear delivers several noteworthy capabilities that are worth highlighting for developers looking to add image processing features to their applications. Here are a few of the most essential:

1. General Use Tools

Although ImageGear delivers a wide range of advanced image processing capabilities, it also provides a variety of conventional tools for image modification. Developers often incorporate these features into their application’s viewing interface, which allows users to easily alter images as needed. Some of the more commonly used tools include:

  • Image cropping 
  • Image rotation and resizing
  • Thumbnail creation
  • Sharpening/smoothing filters
  • Contrast adjustment/gamma correction
  • Red eye removal

2. Region of Interest Selection

Using ImageGear’s region of interest (ROI) features, it’s possible to create a freely shaped image area that can be targeted for additional processing. The ROI can be an ellipse or polygon shape, or it can be drawn freehand. Marking a specified area creates a 1-bit mask image to indicate which pixels will be affected by image processing algorithms.

3. Erosion/Dilation

ImageGear deploys mathematical morphology operations to help clean up and enhance binary images. Erosion works by removing layers of pixels from the inner and outer boundaries of defined regions in the foreground. This causes the white pixels in the foreground to shrink, which has the effect of making the area darker. Dilation performs the opposite function, increasing the boundaries of those same pixels to make the image region lighter. These functions are typically deployed in combination to remove objects or smooth borders on black and white or grayscale images.

4. Edge Detection

A key image processing capability, edge detection is used in pattern recognition, image matching, and 3D vision applications to identify the boundaries of objects within images. This function is particularly useful for image segmentation and data extraction tasks.

5. Speckle Removal

Speckling is the distinctive “salt and pepper” noise commonly found in many scanned or low resolution images. ImageGear has two different ways of removing speckles from an image to reduce noise and improve the overall quality without blurring details.

  • Despeckle Method: Removes color noise from a 1-bit image by finding the average color value within the ROI and replacing the other pixels in the speckle area with this value.
  • GeomDespeckle Method: Uses the Crimmins complementary hulling algorithm, which sends the image through a geometric filter that reduces speckle noise without compromising the edges of the original image.

6. ImageClean

The ImageClean function is a multi-faceted cleanup tool that uses several classes to perform common image processing tasks. Some of those tasks include:

  • Inverting white text or auto-inverting black text on a white background.
  • Auto-orientation or auto-cropping of an image.
  • Cleaning borders.
  • Dotted or solid line removal.
  • Punch hold removal.

7. Background Correction

ImageGear can identify the best-fit plane for an image and then adjust the image luminance tilt accordingly, either by increasing or decreasing the image plane. This method is particularly effective at correcting illumination gradients in low-quality digitized images.

8. Image Effects

As part of its image processing capabilities, ImageGear provides a wide array of image effects that can be used to transform or modify image files. Developers can easily integrate these tools into their application’s viewer to allow end users to easily alter images. Some of these image effects include:

  • Aging Effect: This effect adjusts image saturation and contrast to make an image appear worn and old. Noise and random vertical lines are also added to enhance the effect.
  • Boost Effect: Often used to make older or faded images look new and more vibrant, this effect increases saturation, brightness, and contrast.
  • Drop Shadow: This method adds a drop shadow to an image, which is often useful for setting an image apart from a background when combining visual elements.
  • Gaussian Blur: Typically used to smooth out composited images, this effect blurs pixels to soften images and make them appear slightly (or extremely) out of focus.
  • High Density Range Effect: This effect increases the contrast of shadow, highlight, and midtone areas separately, which mimics the human eye’s ability to adjust to lighting conditions rather than applying a uniform contrast adjustment.
  • Lens Flare Effect: Commonly used to make images appear more dramatic or realistic, this method simulates a bright light reflecting within the camera lens.
  • Solarize Effect: This effect sets a light threshold and then inverts the colors of any pixels that exceed that value. When applied to an image, it mimics the look of photographic film that was exposed to too much light during development.
  • Toy Camera Effect: Often used to liven up an image, this effect emulates the distortions and imperfections created by using a low-quality camera lens in poor shooting conditions. 
  • Sketch Effect: By blending the original image with a texture image, this effect can make the image look like it was sketched with a pencil or charcoal.
  • Artistic Effects: This feature includes a series of effects that make images look as if they were hand painted. Two of these methods, the Pointillist and Splatter methods, use randomly generated pixel elements that cause the resulting image to be different each time the method is applied.

Expand Your Image Processing Capabilities with ImageGear

The features listed above only scratch the surface of ImageGear’s capabilities. In addition to essential image processing tools, the SDK also allows developers to add document features like annotation, conversion, compression, and full-page optical character recognition (OCR). With support for dozens of file formats, ImageGear gives software teams the tools they need to expand their application’s capabilities without wasting months of valuable development time. To get a first-hand look at what ImageGear can do for your .NET application, download a trial today.