Technical FAQs

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

Few organizations will view the final weeks of 2020 as a bittersweet moment. In addition to the staggering human toll inflicted by the COVID-19 pandemic, entire industries saw longstanding business models upended, forcing companies to completely rethink their relationships with employees, vendors, and customers. The financial services industry was no exception, and 2020 saw FinTech becoming more important than ever as firms rushed to embrace digital transformation in response to the ongoing crisis. Many of these trends appear poised to continue well into 2021 and beyond. 

FinTech Defined

FinTech is short for “financial technology,” but the term itself is applied quite broadly throughout the financial services industry. It can be used to refer to a new generation of non-traditional startup companies focused on building digital tools that allow people to manage their finances in new ways that disrupt established industry practices. The term is also sometimes used to describe the technology itself, however, especially since established financial organizations are investing heavily in innovative applications and services of their own.

FinTech Trends for 2021

Although 2020 is sure to be remembered as a year of unprecedented disruption, 2021 might well come to be known as a year of remarkable adaptation and transformation. Now that organizations have developed innovative digital strategies to navigate a more volatile economic landscape, they must now take up the challenge of putting those plans into practice.

FinTech developers need to keep an eye on these trends as they build new applications and services in order to provide the functionality and performance demanded by the financial industry. Many established firms will be taking a long look at their infrastructure and technology solutions to assess whether or not their current systems are up to the challenge of digital transformation. If their existing platforms fall short, they will need to either seek out new FinTech products with more robust feature sets or explore options for integrating new capabilities into their legacy software.

Top 5 FinTech Trends to Watch in 2021

1. Customer-Centric Applications

The proliferation of FinTech solutions has brought customers to the forefront of every financial organization’s thoughts. Where the financial industry once designed processes and applications to suit their own needs, today they must focus on delivering a high-quality customer experience if they want to remain competitive in a crowded marketplace. The process often begins with reducing friction wherever possible to help end-users get the products and services they need faster. With customers increasingly interacting with the financial industry across multiple channels, FinTech developers must build solutions that strengthen those connections and expand their potential.

Eliminating manual processes, cutting down on external software dependencies, and automating routine tasks will continue to be a major point of emphasis for FinTech applications. Customers no longer have the patience to repeatedly fill out lengthy forms or go through the frustrating process of downloading, printing, signing, and scanning documents. By building document viewing, file conversion, and data capture capabilities into their applications, FinTech developers can provide firms with a unified digital solution that addresses multiple needs and streamlines their customer experience.

2. Digital-First Collaboration

According to an IDG study on the enduring business impacts of the COVID 19 pandemic, about 40% of employees are expected to be working remotely on a semi-permanent basis as of January 2021. That means financial organizations will continue to need digital tools in place to provide secure access to files and facilitate collaboration. Physical documents must first be converted into a variety of digital formats with high levels of accuracy and then made available to remote users without compromising data integrity or creating confusion over version history. 

Without a dedicated solution on hand for viewing, editing, and managing documents, users are forced to resort to a variety of ad hoc workarounds and third party software solutions that can quickly compromise data security and increase the likelihood of errors. By integrating those features into their FinTech applications, developers can help firms keep all of their documents and files safely within a secure infrastructure while still making them available through easy-to-use web-based API tools.

3. Big Data Management

Financial organizations continue to collect huge amounts of data in the course of their business. Some of this data is unstructured and must be processed using powerful analytics tools to identify important trends and potential risks that can help firms make better strategic decisions. But they also gather a great deal of structured data as well, typically from structured forms like loan applications, tax documents, and bank statements. Managing all of this information more efficiently will be an important goal for 2021 because having good data insights is essential for identifying opportunities, optimizing products and services, and automating essential services.

FinTech developers can help improve data processing by building applications capable of extracting information quickly and accurately. Financial data algorithms are quite good at identifying different types of data and sorting it into the proper place for analysis, but they’re often slowed down by documents that are damaged or difficult to read. Thanks to software integrations that provide robust image cleanup, document alignment, and form recognition tools, FinTech applications can ensure that firms are starting with the cleanest possible source data when extracting information for processing.

4. Pandemic Proofing

Although there are several promising COVID-19 vaccines on the horizon, challenges with supply and distribution will keep most companies operating under the same social distancing and remote workplace guidelines they put in place in 2020 for much of the year. Even if restrictions are lifted earlier than expected, the risk-averse financial industry will continue to think about how to avoid similar disruptions by implementing paperless processes and electronic data capture options. Just as retailers and manufacturers are rethinking their supply chain infrastructure, financial services companies must reassess their FinTech applications in light of recent challenges.

Developers can help the financial industry better “pandemic proof” their processes by integrating better document viewing, file conversion, and data capture tools into their software solutions. Not only can they automate traditionally time-consuming (and error-prone) manual data entry tasks, but they can also build in additional functionality to auto-generate data for new contracts and allow people to sign documents digitally to eliminate the need for face-to-face meetings. 

5. Banking Partnerships

Banks and other traditional financial institutions are increasingly partnering with FinTech startups to reach new customers and engage with existing clients over new channels. As Deloitte noted in a recent study, the pandemic has removed many of the obstacles to digital transformation in the financial industry and forced many established firms to pour tremendous resources into their tools and infrastructure. But as banks engage with innovative startups, they will need to find ways to integrate operations and data quickly to remain competitive and roll out new services successfully.

That integration process will be easier if they have flexible software solutions in place that can navigate multiple file types, perform cleanup and conversion, and extract essential data quickly and accurately. Whether they’re building that functionality into entirely new applications or integrating features into existing legacy systems, FinTech developers will play a key role in helping financial organizations accelerate their merger and partnership timetables so they can begin reaping the benefits more quickly. 

Solving Your FinTech Challenges with Accusoft

Accusoft’s collection of RESTful APIs and SDKs provide FinTech developers with the tools they need to build comprehensive content processing, conversion, and automation solutions into software applications. Whether you’re using PrizmDoc Suite to view, edit, and convert documents directly inside their financial applications, capturing valuable financial data from various form types with FormSuite for Structured Forms, or embedding powerful image cleanup, OCR, and annotation tools into your application with ImageGear, our family of software integrations allow you to add the functionality your FinTech solutions need to meet the challenges of 2021 and beyond.

To learn more about how our software tools can enhance your FinTech applications, talk to one of our integration experts today.

In part one of our series on how APIs are empowering a new generation of LegalTech solutions, we looked at some of the technology obstacles facing today’s legal organizations. We also covered the basic principles of how API integration works and how it can bridge the gap between legacy systems and new applications. In part two, we’ll be taking a closer look at some specific API integration use cases and explain why they’re an essential part of a successful firm’s LegalTech toolkit.

4 Benefits of APIs for Legal Teams

Before going into more detail about how LegalTech API integration works, it’s worth highlighting the broad benefits APIs can deliver to a law firm. 

1. Streamlined Workflows

The average legal department relies on more than one software solution to meet their business needs. While larger firms that provide a broad range of legal services typically require more specialized platforms, even smaller legal teams deploy different software applications to address different business needs.

Thanks to API functionality, these diverse LegalTech solutions can be integrated into a single, platform-agnostic portal that eliminates the workflow disruption caused by constantly switching back and forth between programs. 

2. Remote Functionality

API integrations also make it possible for lawyers to access an assortment of LegalTech tools from any location, even if they can’t physically be at their offices. This capability is more important than ever as the legal profession continues to grapple with the impact of the COVID 19 pandemic. 

Many lawyers are still working from home and communicating with their clients and colleagues remotely. In some states, virtual court proceedings might remain in use even after the pandemic. If law practices aren’t able to function effectively in a remote context, they will struggle to deliver quality legal services to their clients.

3. Competitive Advantage

Managing multiple technology resources and facilitating remote collaboration isn’t just about making work easier for legal teams. Streamlining workflows results in greater efficiency, which means lawyers can spend more time doing high-value work for their clients rather than sorting out technical issues or tracking down hard-to-find documents and files. 

It also translates into reduced costs, since key administrative functions can be automated and carried out both faster and more accurately. Law firms that invest in technology integration can deliver better services to their clients at lower costs than their competition while still retaining the flexibility to adapt to future disruptions.

4. Enhanced Security

By its very nature, the legal industry ends up handling a great deal of sensitive information. Financial records, contracts, protected health data, and private correspondence are frequently relevant to legal proceedings of all kinds. There’s also the matter of attorney-client privilege, which greatly restricts what information can be shared outside the firm. 

Without a way to securely manage files and documents, law firms leave themselves exposed to significant liability. Thanks to API integrations, attorneys can use their existing LegalTech solutions to access, share, and edit essential files safely and securely. 

PrizmDoc Viewer: LegalTech API Integration in Practice

For a better understanding of how API integration can enhance the performance of LegalTech applications, it’s instructive to look at some specific examples. Accusoft’s PrizmDoc Viewer uses a powerful collection of REST APIs to provide HTML5 document viewing functionality through a single interface. It not only allows LegalTech developers to quickly and easily integrate document viewing capabilities into their applications, but it also delivers several additional features that are particularly relevant to the legal industry’s eDiscovery process

Document Conversion

The digitization of the discovery process has made it easier for legal organizations to share documents and back up important data. Unfortunately, it’s also created a huge glut of electronically stored information (ESI) in a variety of formats. In addition to the large number of commonly used file formats (such as DOCX, PDF, and JPEG), firms must also deal with a variety of proprietary file formats and case-specific formats (like DICOM for healthcare clients). PrizmDoc Viewer uses an array of APIs to convert more than 100 file formats for easy presentation within a browser-based HTML5 viewer. It can also convert image-based documents into searchable PDFs or editable text files with a built-in OCR engine. Thanks to this integration, attorneys can quickly share and view documents internally or with clients and the court without having to download and install specialized applications.

Annotation

The ability to annotate and markup documents is essential for any collaborative legal process. Although many platforms make it easy to insert comments and edits into documents, these programs often don’t support more than a handful of file types and alter the original file when making annotations. PrizmDoc Viewer’s annotation functionality supports over 100 file types and allows multiple users to make layered edits that can be easily shown or hidden. More importantly, all markups exist on top of the original document, preserving the integrity of the original file to comply with state and federal preservation of data requirements. When the time comes to present documents, annotations can be burned into the file if necessary. 

Redaction

Sharing documents is always a sensitive process in the legal profession. Information may be protected by attorney-client privilege, disclosure agreements, contractual obligations, or government regulations. LegalTech applications need to be able to redact sensitive data when sharing documents with outside parties. PrizmDoc Viewer’s REST API allows users to manually redact individual sections, use search features to redact specific terms, or even programmatically redact data for pre-determined reasons (such as account numbers or Social Security numbers). Redacted content is not only hidden from view, but no longer shows up in search results and cannot be copied or highlighted.

Security

As mentioned previously, security should be a key consideration for any LegalTech solution. Firms need to strictly control who has access to data and confidential documents, whether that consists of sensitive client information or internal litigation strategies. PrizmDoc Viewer provides a few key features to help LegalTech applications maintain high levels of security.

  • DRM: Digital rights management (DRM) controls can manage who has access to documents and what functions they can use (such as printing, downloading, or viewing). This makes it easy to restrict how files are shared and track any document leaks back to their source to hold the responsible parties accountable.
  • Watermarking: PrizmDoc Viewer can hard code identifying information into documents to prove ownership and prevent the unauthorized reproduction of documentation.
  • Encryption: With so many people working remotely from potentially unsecured Internet connections, file encryption is absolutely essential for any LegalTech application. PrizmDoc Viewer uses 256-bit AES content encryption to ensure that documents remain secure throughout the collaboration process.

Transform Your LegalTech Strategy with API Integration

As we covered in part one, many legal organizations cling to outdated processes and technology due to familiarity and deeply-ingrained status quo bias. But familiar doesn’t always mean functional. Over reliance on manual processes exposes firms to increased human error and a range of potential data security risks, to say nothing of undercutting productivity. Advanced APIs offer a new tactical toolkit, a way to select best-fit code that solves specific issues and helps legal firms improve operational outcomes. Learn more about how Accusoft’s PrizmDoc Viewer can unlock the full potential of your LegalTech applications today.

PrizmDoc Viewer HTML5

Adding viewing and document conversion capabilities to an application can be a daunting task, especially when a development team is facing resource constraints and a tight schedule. That’s why many developers turn to API-based viewing integrations like Accusoft PrizmDoc Viewer instead of building those features from the ground up. By leveraging the versatile power of HTML5 viewing, they can quickly expand software capabilities without having to rethink the basic framework of their products.

What’s Under the Hood of PrizmDoc Viewer?

To understand how PrizmDoc Viewer goes about rendering documents in a web application, it’s helpful to take a closer look at its underlying architecture. There are two primary components that work in concert with the application’s web server: the HTML5 viewer and the backend.

The HTML5 viewer is integrated to run in the browser, typically via a web page or portal that serves as the front-facing aspect of the application. This is where document content is rendered as SVG elements. Since the viewer uses HTML5 to display content, it isn’t dependent upon any specific word processing software or imaging program.

Most of the heavy lifting is handled by the PrizmDoc Viewer backend, which consists of the PrizmDoc Server and PrizmDoc Application Services (PAS). PrizmDoc Server is the core computing component. It performs the actual conversion process to convert document pages to SVG, but it doesn’t have any permanent storage. Converted content and annotation markups are instead stored in PAS. The PAS component primarily handles long-term storage and hands files off to the server for conversion or processing. 

Critically, PAS also has privileged access to other storage locations used by the application, such as file systems or databases. This allows it to easily retrieve source documents and hand off tasks to the server.

The Role of the Web Application

The web application server sits between the HTML5 viewer component and the backend component. It functions as a reverse proxy that relays requests between the two, passing content requests from the viewer to the backend and then delivering converted SVG content from the backend to the viewer.

PrizmDoc Viewer doesn’t actually work with the source documents in the application’s storage. They remain safely unaltered while the backend generates a converted version for viewing and annotation. The web application typically only makes REST API calls to PAS. Background conversion that doesn’t involve the viewer, however, can be performed by making a direct call to PrizmDoc Server.

Making the HTML5 Magic Happen: Viewing a Document

When the web application has to open a stored document for viewing, each component of PrizmDoc Viewer plays a special role in the process. Everything begins with the web application sending a request to PAS to create a new viewing session. How this session is created depends upon how the backend is deployed. In most cases, it will be self-hosted as part of an on-premises deployment or through PrizmDoc Cloud services.

Once that session is created, PAS generates a new viewing session ID and passes it back to the application. All of this happens before any conversion or viewing begins, but the application can begin rendering to the HTML5 viewer by configuring it to use the viewing session ID. This brings up the viewing UI immediately, which will ultimately save time as the document is prepared.

The web application then uploads a copy of the source document to PAS, which can be in any number of formats supported by PrizmDoc Viewer. As soon as PAS receives the document, it begins handing off pages to PrizmDoc Server for conversion to SVG. Since pages are converted one at a time, PrizmDoc Viewer is able to open and view documents in the browser before the entire file is converted. That means less time is spent waiting around for large documents to be prepared for viewing.

As soon as the HTML5 viewer loads in the browser, it begins proxying requests to PAS through the web application for the first pages of content. Once the converted SVG content is available, PAS hands it back to the web application, which then passes it along to the HTML5 viewer, which displays that content in the browser. Additional pages are delivered as they’re ready, and the viewer may make subsequent requests as the user continues to interact with the document.

While the viewing process involves several steps, it is typically performed so quickly that the end user doesn’t experience any significant delays. Larger documents may take more time to render as SVG content, but even in these cases, PrizmDoc Server’s ability to render and deliver each page to the HTML5 viewer as it becomes available allows users to begin viewing documents within their browser right away.

Enhance Application Viewing Performance with PrizmDoc Viewer

As an API-based HTML5 viewing solution, PrizmDoc Viewer can be integrated into most web-based applications to support a broad range of file formats. Developers can use its annotation, redaction, document comparison, and conversion capabilities to deliver a full range of document management tools within their software platforms rather than having to build them from scratch.

To see how PrizmDoc Viewer will function in your application environment, sign up for a free evaluation trial. We provide ready-to-run Docker images in addition to installers for Windows and Linux. 

 

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.

Printers, scanners, and other imaging devices have long been a source of headaches and frustration for developers and users alike. All too often, multiple software tools are required to connect an application to a device and acquire image files from them. This not only slows down workflows, but also creates opportunities for human error. Files can easily be misplaced or imported using the wrong parameters under these conditions.

Thanks to ImageGear’s TWAIN scanning support, however, developers can ensure that their application makes acquiring images from compatible devices both straightforward and mistake free. 

What Is TWAIN?

Developed in 1992 by a consortium of software developers and hardware manufacturers, the TWAIN standard is a standard software protocol and API that facilitates communication between imaging devices and software applications running on a computer. The word itself refers to a famous line in the Rudyard Kipling poem “The Ballad of East and West” that reads “never the twain shall meet.” Although sometimes alleged to stand for “Technology Without An Interesting Name,” the term is not actually an acronym despite being capitalized.

The name is well chosen because the TWAIN standard helped to solve the enduring problem of getting imaging devices and computers to connect and send data between one another. Most commonly used for scanners and digital cameras, TWAIN made it possible to request an image file to be imported into an application without having to utilize additional software or input commands using the physical device.

Implementing TWAIN Scanning with ImageGear

As a versatile image processing SDK, ImageGear fully supports the TWAIN specification, which allows developers to support any TWAIN-capable device directly into their applications. In most instances, this will involve adding a “Scan” button or option somewhere in the platform’s interface so that users can quickly and easily instruct their scanner to capture an image and pass it along to the application’s storage or workflow. Developers can also use the integration to adjust device settings directly from their application, such as changing the scanning area, modifying brightness and contrast, or increasing/decreasing dots-per-inch (resolution). 

ImageGear’s TWAIN scanning feature works with three external elements to facilitate image file transfers:

  • The Device: Usually a scanner or digital camera, this is the primary imaging source. The device must be compliant with TWAIN protocol.This is typically indicated by the manufacturer.
  • Data Source: Although ImageGear’s TWAIN scanning features can connect an application to a scanner, the device still needs a software driver that allows it to communicate with the computer’s operating system.
  • Data Source Manager: The TWAIN manager software provides a universal mechanism for managing and using data sources from different device manufacturers. Developed by the TWAIN consortium, it can be downloaded for free and installed wherever the application is running.

(Both the device’s data source driver and TWAIN data source manager should be included with its installation software. They are not provided by the ImageGear SDK).

Acquiring an Image Using TWAIN Scanning

ImageGear can configure an application to gather an image or set of images from a connected device with a few simple steps.

Step 1: Open the Data Source

Developers can set the application to automatically open a default Data Source. This is typically the best choice when only one scanner is available, as is often the case in a small workplace. They can also use the Data Source Manager to provide a list of all available Data Sources and let the user select the one they need.

Step 2: Adjust Settings

ImageGear’s TWAIN scanning features allow image acquisition parameters to be set through the application. Parameters such as page count and image size can be set to a common default, but developers can also give the option to obtain the various capabilities (listed as “ScanCaps”) and display them for users to select from. ImageGear supports a wide range of TWAIN-related capabilities.

Step 3: Acquire Image

After all settings are configured, the image can be scanned and loaded into an ImGearPage Class object. When acquiring a multi-page image, ImGearPages are loaded into an ImGearDocument Class object instead.

How ImageGear TWAIN Scanning Looks in Code

As an example, here’s what the C# code may look like when using ImageGear to help an application import an image from a TWAIN Data Source:

using System;
using ImageGear.Core;
using ImageGear.TWAIN;

public ImGearPage AcquireImage(IntPtr Handle)
{
    ImGearPage igPage = null;
    ImGearTWAIN igTWAIN = new ImGearTWAIN();

    igTWAIN.WindowHandle = Handle;
    igTWAIN.UseUI = true;

    try
    {
        // Open the data source selection dialog
        igTWAIN.OpenSource(String.Empty);

        // Initialize the scanning
        igPage = igTWAIN.AcquireToPage();
    } 

    catch(ImGearException e)
    {
        // Handle the exception ...
    }

    finally
    {
        if(igTWAIN.DataSourceManagerOpen == true)
        {
            igTWAIN.CloseSource();
        }
    }

    return igPage;
}

Expand Your Application’s TWAIN Support with ImageGear

Accusoft’s ImageGear SDK provides comprehensive support for a broad range of TWAIN devices, which makes it easier than ever for developers to control the scanning process directly from their applications. Integrating TWAIN scanning can streamline workflows and significantly improve the software user experience by completely eliminating the need to turn to external programs for image acquisition. ImageGear is fully compatible with multiple generations of the TWAIN standard, including TWAIN v1.6, v1.7, v1.8, v1.9, and v2.4.

In addition to TWAIN scanning support, ImageGear provides powerful image and document processing capabilities that can transform your application workflows. With extensive file conversion and compression features, it’s the best way to quickly integrate content management features into your platform. To get a glimpse of what ImageGear can do for your .NET application, download a free trial today and start building.

When the time comes to extract data from standard forms, simply scanning the entire document isn’t an ideal solution. This is especially true of forms that include instructional text, since you probably don’t want to keep capturing “Directions” from every form. Even when looking only at fillable information, there can be a lot of text to capture. Optical character recognition makes it simple to automate data extraction as part of a forms processing workflow, but the most effective frameworks utilize a specialized form of recognition known as zonal OCR. 

What Is Zonal OCR?

While zonal OCR still identifies machine-printed text and matches it to existing character sets before handing it off to another stage of a predetermined workflow, what sets the process apart is the way it goes about reading a document page. A typical standard form often features multiple fillable boxes where someone can enter their information. It could also include drop-down menus with predetermined responses (suffix, state, and country are all common examples of this). Trying to recognize all of that text at once greatly increases the number of possible results, which could impact both accuracy and performance.

Zonal OCR addresses this challenge by splitting the page up into several distinct zones, each of which typically corresponds to a form field (although it doesn’t have to). Instead of reading the entire page, then, the OCR engine selectively recognizes the text in these zones. It can also be combined with form image dropout, which removes text and graphical elements that don’t need to be read and might interfere with the recognition process. By reducing the amount of text that needs to be matched, zonal OCR and significantly improve recognition speed and accuracy.

Limiting Recognition Results

The most effective OCR solutions then go a step further by designating the type of information that should be found within those zones. This reduces the range of potential outcomes, which makes it easier for the OCR engine to return an accurate reading.

For example, the letter “Z” bears superficial similarities to the number “2.” If the OCR engine needs to take into account all possible responses, it may struggle to distinguish between the two accurately, especially if an unusual font was used to complete the form. However, if developers stipulate that a particular “zone” should only include numerical values, the OCR engine suddenly goes from having to consider dozens of letters and special characters to just ten numbers. This makes it much easier to obtain an accurate recognition result.

For hand-printed form responses, applying the same zonal strategy to Intelligent Character Recognition (ICR) is especially helpful. Going back to the “Z” and “2” example, the distinctions between the two characters are often much more subtle in the case of hand-printing. If a form field includes the date to be printed out in a month/day/year format, there is no reason to include a “Z” in the list of potential characters that might be found in that field because no month includes a “Z.” When the ICR engine comes across a “2,” then, it’s more likely to identify it correctly because there are fewer potential alternative characters.

By constraining possible recognition results over a smaller range of defined character sets, zonal OCR and ICR both greatly improve accuracy when it comes to forms processing. The list of potential results is typically referred to as a data validation list.

In addition to constraining character sets, regular expressions can also be applied to different zones to specify what kind of data is expected to be found there. A regular expression is simply a string pattern that sets rules for how characters are formatted, such as a phone number, Social Security number, or credit card number.

Setting Up Zonal OCR

Integrating zonal OCR capabilities into a forms processing workflow first requires the creation of specialized templates that map out the location of each field that contains data. In any organization, the various types of standard forms received should always be built as templates within the solution. This allows the application to both match incoming forms to existing templates, but also align them to ensure that everything is in the proper location. 

The alignment step is extremely important for effective data extraction. Zonal OCR is set up to read only specific areas on a document page. These zones have clear boundaries, and anything caught outside that boundary will not be read while any character that’s only partly within the field will likely return an error result of some kind.

Accusoft’s SmartZone OCR/ICR integration, for instance, works most effectively when paired with the FormFix SDK, which handles form template creation, identification, and alignment. As part of the broader FormSuite solution, these integrations are extremely effective when it comes to streamlining data capture.

Improve Data Capture Accuracy with SmartZone

With OCR and ICR support for multiple languages, SmartZone is a powerful data extraction tool that can be incorporated into an application individually or with the rest of the FormSuite collection. It provides fast, accurate text recognition on both a zonal and a full-page basis. Developers can set up expected character patterns for fields and designate different regular expressions for all of them to deliver results that are significantly more accurate.

SmartZone not only provides out-of-the box support for pre-defined character sets, such as upper and lower case characters, arithmetic symbols, and currency symbols, it also allows developers to edit those sets to improve accuracy, confidence, and speed.

Find out how the SmartZone OCR/ICR can enhance your application’s forms processing data extraction today by downloading a free trial.

excel spreadsheet formulas

Document management solutions are well-equipped to handle common file types like DOCX and PDF format. When developers are building software to manage workflows and make files accessible through web-based applications, they can typically turn to HTML5 viewers and document processing integrations to provide the document features their customers require. 

When it comes to Microsoft Excel spreadsheets, however, there are some additional considerations that often create difficulties. One aspect of XLSX workbooks that deserves special attention is how applications manage, secure, and control spreadsheet formulas.

Securing Proprietary Formulas

Many financial services and insurance organizations depend upon proprietary information like specialized, unique formulas to provide their customers with beneficial insights. Insurance underwriters, for example, may have a special calculation they use when setting their rates, while an investment firm likely has a risk formula that helps them to identify best opportunities for clients.

Such formulas are often the product of many years of work and experience in the industry and are inexorably linked to a firm’s service offerings. If customers or competitors were able to access those formulas directly, they may be able to adapt them for use elsewhere without the original firm’s permission.

Spreadsheets pose a unique challenge in this regard because the typical workbook contains many formulas, some of which may contain proprietary information. This may not be much of a problem for internal use within an organization, but it could become a problem the moment those spreadsheets are shared with someone outside the organization or with someone who lacks the proper authorization. While cells in an Excel spreadsheet can be hidden or password protected, these protections can potentially be breached by someone familiar with Microsoft security features once they’ve downloaded the file.

Maintaining Spreadsheet Control

Anyone who has accidentally deleted or changed some portion of a spreadsheet formula in a single cell and wrecked calculations throughout a workbook knows how important it is to keep those formulas locked from unnecessary editing. If the workbook is being shared with multiple users, the odds are good that someone will make a mistake somewhere, potentially altering important calculations and providing a misleading portrayal of the available data.

The challenges are even greater when spreadsheets are shared online. A public facing Excel spreadsheet used to make financial calculations, for instance, could be rendered useless if someone were to alter (knowingly or unknowingly) the formula information in a cell. And if the workbook is downloadable, undetected formula changes could be passed on with the file, making it difficult to know which copies of the workbook are accurate and which ones contain errors. 

Protecting Spreadsheet Formulas with PrizmDoc Cells

Developers have long faced two choices when it comes to managing spreadsheets within their applications. One option is to manage the XLSX files themselves while depending upon Microsoft Excel to actually open and view the spreadsheet. While this approach maintains the full functionality of Excel, it creates serious control issues as the user is required to download the file from the secure application environment. If they make changes, they can then upload the file again, creating a potential for version confusion.

The other option is to keep the spreadsheet in application storage, but render it as a print preview in an HTML5 viewer. While this approach certainly protects spreadsheet formulas, it’s also little more than a static view of a spreadsheet, which is only useful if an existing spreadsheet needs to be reviewed and not interacted with in any way.

Accusoft’s PrizmDoc Cells is an API-based integration that allows developers to securely embed XLSX files within their web-based applications while retaining the ability to edit and interact with them. A financial planning workbook, for instance, could be embedded within the browser to provide much of the basic functionality users are familiar with from Excel. This makes it ideal for applications that require a balance of usability and security, such as a digital vault that keeps vital financial data within a secure environment.

When uploading an XLSX file for display using PrizmDoc Cells, there are a few options that make it easy to protect valuable spreadsheet formulas.

Formula View/Edit Settings

There are two formula options that developers can easily adjust based on the needs of the application or the use case of the customer. The “canView” setting determines whether or not formulas are even sent to the browser for viewing. If set to “false,” any formulas within the spreadsheet will be automatically hidden. The “canEdit” setting either gives or denies users permission to edit or enter formulas. Hiding formulas is ideal for situations involving proprietary information, while editing restrictions are more suitable for internal workflows designed to reduce human error.

Value-Only Upload

When an XLSX file is uploaded, all cell values and formulas are normally preserved. This allows the workbook to retain the same basic functionality it has in Excel. For situations where the spreadsheet’s values need to be shared, but no changes are being made to the formulas, PrizmDoc Cells can upload workbooks as “values-only,” which removes all formulas from the embedded version. After being uploaded in this way, the spreadsheet can then have individual cells redacted as needed to further enhance security. Text can be placed in redacted cells to indicate why values were removed.

Enhance Your Application’s Spreadsheet Functionality

As an API integration, PrizmDoc Cells integrates smoothly into any web-based application. It also interfaces seamlessly with PrizmDoc Viewer to provide a broader range of viewing features when it comes to spreadsheets. Whitelabeling features allow developers to customize and rebrand the UI as part of their own software solution.

Find out how easy PrizmDoc Cells makes it to manage spreadsheets within your application by downloading a free trial. It’s the best way to get a close up view of how this powerful integration performs within your dev environment.