Technical FAQs

Continuous innovation has allowed Accusoft to build sustained success over the course of three decades. Much of that innovation comes from talented developers creating novel solutions to everyday problems, many of which go on to become patented technologies that provide the company with an edge over competitors.
Others, however, are the byproduct of looking at problems from a different perspective or using existing technologies in unique ways. Accusoft supports both approaches by hosting special “hackathon” events each year. These events encourage developers to spend time working on their own unique projects or try out ideas they think may have potential but have never been implemented.
For this year’s hackathon, I took a closer look at how our SmartZone SDK could be implemented as part of an automation solution within a .NET environment without creating an entire application from the ground up. What I discovered was that PowerShell modules offer a quick and easy way to deploy character recognition for limited, unique use cases.
.NET and PowerShell
One of the underestimated abilities of the .NET infrastructure is support loading and executing assemblies out of box from the command line using a shell module. Although there are many shell variants available, PowerShell comes preinstalled on most Windows machines and is the only tool required to make the scripts and keep them running. PowerShell also runs on Linux and macOS, which makes it a true cross-platform task automation solution for inventive developers who crave flexibility in their scripting tools.
Incorporating the best features of other popular shells, PowerShell consists of a command-line shell, a scripting language, and a configuration management framework. One of the unique features of PowerShell, however, is that unlike most shells which can only accept and return text, it can do the same with .NET objects. This means PowerShell modules can be used to build, test, and deploy solutions as well as manage any technology as part of an extensible automation platform.
Implementing SmartZone Character Recognition
Accusoft’s SmartZone technology allows developers to incorporate advanced zonal character recognition to capture both machine-printed and hand-printed data from document fields. It also supports full page optical character recognition (OCR) and allows developers to set confidence values to determine when manual review of recognition results are necessary.
Implementing those features into an application through a third-party integration is the best way to incorporate recognition capabilities, but there are some use cases where they might need to be used for general tasks outside of a conventional workflow. A number of Accusoft customers, for instance, had inquired about simple ways to use some of SmartZone’s features in their existing process automation software without having to spend weeks of development time integrating those capabilities on a larger scale.
Thanks to the versatility of PowerShell, there’s no reason to build such an application from scratch. SmartZone’s zonal recognition technology can easily be incorporated into any .NET environment with just a few snippets of code. PowerShell syntax itself is not very difficult to understand and for a quick start it should be enough to use a Windows Notepad application, but we recommend using your favorite integrated development environment (IDE) for a better experience.
Getting Started
First, you need to download SmartZoneV7.0DotNet-AnyCPU.zip from the Accusoft SmartZone download page and unpack it to any suitable directory. This bundle contains all required binaries to run SmartZone.
Create a Simple.ps1 file inside the unpacked directory and start typing your script:
using namespace System.Drawing
using namespace System.Reflection
using namespace Accusoft.SmartZoneOCRSdk
# Load assemblies.
Add-Type -AssemblyName System.Drawing
$szPath = Resolve-Path ".\bin\netstandard2.0\Accusoft.SmartZoneOCR.Net.dll"
[Assembly]::LoadFrom($szPath)
# Create a SmartZone instance.
$szObj = [SmartZoneOCR]::new()
$szAssetsPath = Resolve-Path ".\bin\assets"
$szObj.OCRDataPath = $szAssetsPath.Path
# Licensing
# $szObj.Licensing.SetSolutionName("Contact Accusoft for getting the license.")
# $szObj.Licensing.SetSolutionKey(+1, 800, 875, 7009)
# $szObj.Licensing.SetOEMLicenseKey("https://www.accusoft.com/company/legal/licensing/");
# Load test image.
$bitmapPath = Resolve-Path ".\demos\images\OCR\MultiLine.bmp"
[Bitmap] $bitmap = [Image]::FromFile($bitmapPath.Path)
# Recognize the image and print the result.
$result = $szObj.Reader.AnalyzeField([Bitmap] $bitmap);
Write-Host $result.Text
# Free the resources.
$bitmap.Dispose();
$szObj.Dispose();
This simple code snippet allows you to use SmartZone together with PowerShell in task automation processes like recognizing screenshots, email attachments, and images downloaded by the web browser. It can also be deployed in other similar cases where the advantages of PowerShell modules and cmdlets can help to achieve results faster than writing an application from scratch.
Another Hackathon Success
Identifying a new way to deploy existing Accusoft solutions is one of the reasons why the hackathon event was first created. This script may not reinvent the wheel, but it will help developers save time and money in a lot of situations, which means fewer missed deadlines and faster time to market for software products. Developing unique approaches to existing problems can be difficult with deadlines and coding demands hanging over a developer’s head, so Accusoft’s hackathons are incredibly important for helping the company stay at the forefront of innovation.
To learn more about how that innovation can help your team implement powerful new features into your applications, talk to one of our solutions experts today!
As a developer working with lenders, you strive to build an application that makes life easier for your clients. In the financial industry, processing data is essential. In order to process it efficiently, lenders must collect data from a variety of different forms. Whether consumers are coming to them for a loan, bank account, or credit card, lenders must gather a variety of personal information from them in order to approve or decline the request. Fintech form processing is a key capability for financial applications.
In an ever-changing digital landscape, financial institutions big and small are struggling to keep up with the instantaneous product offerings which consumers are coming to expect. This mindset is pushing lenders to reconsider their data gathering processes, searching for faster, more efficient solutions.
Challenges Facing Financial Forms Workflows
There are so many forms consumers must fill out to get approved for financial requests. Loan applications, in particular, can be daunting. Underwriters need everything from pay stubs and bank statements to documented work history and credit score reports. It’s a lot of information for lenders to sort through, especially considering that it comes in a variety of formats.
To make things even more complicated, not all of those documents arrive at the same time or from one source. A single loan application may have different forms trickling in over the course of several weeks. Whether the lender is processing that information as it comes in or storing files for review at a later date, it can be difficult to keep everything sorted properly.
But even after receiving the proper materials, the data scattered across several form fields in multiple documents needs to make its way from the page and into the lender’s databases and applications. Traditionally, that required painstaking manual data entry processes that were both slow and prone to error. While some firms have transitioned to purely digital portals that automatically transfer entered information to the proper destination, many still rely on form documents that are either filled out by hand or submitted in digital format.
For all the talk of organizations going paperless, many lenders still need to process a large number of paper forms, which will involve a combination of manual data entry and scanning documents into digital form. Even if they are set up to receive forms online, they may not have the right software tools in place to extract data from them efficiently or route them to the proper workflow destination. Here again, lenders can end up relying on manual data entry to fill in the gaps, which increases the likelihood that human error will contribute to delays and costly mistakes.
Building a Better Forms Processing Solution
FinTech developers can help lenders manage their form processing needs by designing automated workflows that can identify forms, capture data, and route files more efficiently. The process begins with good form identification capabilities that can match a broad range of documents to existing templates. Not only is this helpful when identifying documents received digitally, but it’s also extremely useful for managing physical documents once they’ve been scanned into the application. Rather than laboriously sorting through scanned files, an automated forms identification system can quickly match batches of documents to determine what kind of form information they contain and then pass them along to the next step of the workflow.
After the identification process, forms can then be aligned with the template to improve data capture accuracy. They could also be routed to the proper storage destination at that point if information doesn’t need to be extracted right away. When the time comes to capture form field content, optical character recognition (OCR) can be applied to documents to efficiently extract text and send it to various databases or other application tools. In the case of handprinted text, intelligent character recognition (ICR) can be used to accurately identify and capture data for processing. For forms with fillable information like bubbles or checkboxes, optical mark recognition (OMR) tools can quickly read which areas have been filled in without anyone having to manually review the document.
Of course, the entire identification and data capture process will go much smoother if the application managing forms is equipped with image cleanup tools that allow it to enhance document images and remove imperfections that might interfere with form processing. This not only includes deskewing and noise removal, but also form dropout capabilities which remove any template images that obscure or overlap with information that needs to be extracted.
Creating a Solution within Your Application
Your FinTech application already offers a variety of robust services for financial professionals, but integrating forms processing capabilities can make it even more attractive in a competitive market. Accusoft’s FormSuite Collection provides a comprehensive set of SDKs for processing standardized forms as part of an automated workflow. It’s the best way to integrate forms identification and data capture into your application without compromising your development timeline or sacrificing functionality.
In addition to an extensive array of image cleanup tools, the FormSuite Collection provides the FormFix component to allow applications to quickly match document images to whatever form templates an organization uses as part of its business processes. Documents can then be efficiently routed to wherever they need to be stored for easy retrieval in the future. FormFix can also perform image dropout and features OMR capabilities for accurate data capture.
The SmartZone component is also included in the FormSuite Collection, delivering powerful OCR and ICR features that can be customized for full page or zonal data capture. With support for multiple Western and Eastern languages, SmartZone has the flexibility to handle almost any documents that pass through FinTech workflows.
By integrating the FormSuite Collection into your application, you gain much more functionality for your product and your customers gain another benefit from your services. They’ll be saving time using your application – just like you’ll save time writing code. When your clients have the ability to process data faster, they win more business. Help your customers succeed, and remain their trusted partner for digital financial technology.
For more information on the FormSuite Collection, check out our comprehensive fact sheet. If you’re ready to see how FormSuite will look within your application environment, download a free trial today.
Today’s high-speed forms processing workflows depend on accurate character recognition to capture data from document images. Rather than manually reviewing forms and entering data by hand, optical character recognition (OCR) and intelligent character recognition (ICR) allow developers to automate the data capture process while also cutting down on human error. Thanks to OCR segmentation, these tools are able to read a wide range of character types to keep forms workflows moving efficiently.
Recognizing Fonts
Deploying OCR to capture data is a complex undertaking due to the immense diversity of fonts in use. Modern character recognition software focuses on identifying the pixel patterns associated with specific characters rather than matching characters to existing libraries. This gives them the flexibility needed to discern multiple font types, but problems can still arise due to spacing issues that make it difficult to tell where one character ends and another begins.
Fonts generally come in one of two forms that impact how much space each character occupies. “Fixed” or “monospaced” fonts are uniformly spaced so that every character takes up the exact same amount of space on the page. While not quite as popular now in the era of word processing software and digital printing, fixed fonts were once the standard form of typeface due to the technical limitations of printing presses and typewriters. On a traditional typewriter, for example, characters were evenly spaced because each typebar (or striker) was a standardized size.
From an OCR standpoint, fixed fonts are easier to read because they can be neatly segmented. Each segmented character is the same size, no matter what letters, numbers, or symbols are used. In the example below, the amount of space occupied by the characters is determined by the number of characters used, not the shape of the characters themselves. This makes it easy to break the text down into a segmented grid for accurate recognition.
“Proportional” fonts, however, are not uniformly spaced. The amount of space taken up by each character is determined by the shape of the character itself. So while a w takes up the same space as an i in a fixed font, it takes up much more space in a proportional font.
The inherent characteristics of proportional fonts makes them more difficult to segment cleanly. Since each character occupies a variable amount of space, each segmentation box needs to be a different shape. In the example below, applying a standardized segmentation grid to the text would fail to cleanly separate individual characters, even though both lines feature the exact same character count.
Yet another font challenge comes from “kerning,” which reduces the space between certain characters to allow them to overlap. Frequently used in printing, kerning makes for an aesthetically pleasing font, but it can create serious headaches for OCR data capture because many characters don’t separate cleanly. In the example below, small portions of the W and the A overlap, which could create confusion for an OCR engine as it analyzes pixel data. While the overlap is very slight in this example, many fonts feature far more extreme kerning.
In order to get a clean reading of printed text for more accurate recognition results, OCR engines like the one built into Accusoft’s SmartZone SDK utilize segmentation to take an image and split it into several smaller images before applying recognition. This allows the engine to isolate characters from one another to get a clean reading without any stray pixels that could impact recognition results.
Much of this process is handled automatically by the software. SmartZone, for instance, has OCR segmentation settings and properties that are handled internally based on the image at hand. In some cases, however, those controls may need to be adjusted manually to ensure the highest level of accuracy. If a specific font routinely returns failed or low confidence recognition results, it may be necessary to use the OCR segmentation properties to adjust for font characteristics like spaces, overlaps (kerning), and blob size (which distinguishes which pixels are classified as noise).
Applying ICR Segmentation
All of the challenges associated with cleanly segmenting printed text are magnified when it comes to hand printed text. Characters are rarely spaced or even shaped consistently, especially when they’re drawn without the guidance of comb lines that provide clear separation for the person completing a form.
Since ICR engines read characters as individual glyphs, they can become confused if overlapping characters are interpreted as a single glyph. In the example below, there is a slight overlap between the A and the c, while the cross elements of the f and t are merged to form the impression of a single character.
SmartZone’s ICR segmentation properties can be used to pull apart overlapping characters and split merged characters for more accurate recognition results. This is also important for maintaining a consistent character count. If the ICR engine isn’t accounting for overlapped and merged characters, it could return fewer character results than are actually present in the image.
Enhance Your Data Forms Capture with SmartZone
Accusoft’s SmartZone SDK supports both zonal and full page OCR/ICR for forms processing workflows to quickly and accurately capture information from document images. When incorporated into a forms workflow and integrated with identification and alignment tools like the ones found in FormSuite, users can streamline data capture and processing by extracting text and routing it to the appropriate databases or application tools. SmartZone’s OCR supports 77 distinct languages from around the world, including a variety of Asian and Cyrillic characters. For a hands-on look at how SmartZone can enhance your data capture workflow, download a free trial today.
The days of manually transcribing scanned documents into an editable, digital document are thankfully long behind most organizations. Error-prone manual processes have largely given way to automated document and forms processing technology that can turn scanned documents into a more manageable form with a much higher degree of accuracy.
Much of transition was made possible by the proliferation of optical character recognition (OCR) and intelligent character recognition (ICR). While they perform very similar tasks, there are some key differences between them that developers need to keep in mind as they build their document and form processing applications.
How Does Character Recognition Technology Work?
Character recognition technology allows computer software to read and recognize text contained in an image and then convert it into a document that can be searched or edited. Since the process involves something that humans can do quite easily (namely, reading text), it’s easy to assume that this would be a rather trivial task for a computer to accomplish.
In reality, getting a computer program to correctly identify text and convert it into editable format is an incredibly complex challenge complicated by a wide range of variables. The problem is that when a computer examines an image, it doesn’t see people, backgrounds, or text as distinct images, but rather as a pattern of pixels. Character recognition technology helps computers distinguish text by telling them what patterns to look for.
Unfortunately, even this isn’t as straightforward as it sounds. That’s because there are so many different text fonts that depict the same characters in different ways. For example, a computer must be able to recognize that each of the following characters is an “a”:
When humans read text, they have a mental concept of what the letter “a” looks like, but that concept is incredibly flexible and can easily accommodate a broad range of variations. Computers, however, require precision. Programmers must provide them with clear parameters that help them to navigate unexpected variations and identify characters accurately.
Pattern Recognition
The earliest versions of character recognition developed in the 1960s relied on pattern recognition techniques, which scanned images and searched for pixel patterns that matched a backlog of font characters stored in memory. Once those patterns were located, the software could translate the characters into searchable, editable text in a document format. Unfortunately, the patterns had to be an exact pixel match, which severely limited how broadly the technology could be applied.
One of the first specialized fonts developed to facilitate pattern recognition was OCR-A. A simple monospace font (meaning that each character has the same width), OCR-A was used on bank checks to help banks quickly scan them electronically. Although pattern recognition libraries expanded over the years to incorporate common print fonts like Times New Roman and Arial, this still presented serious limitations, especially as the variety of fonts continued to grow. With one popular font finding website indexing more than 775,000 available fonts in 2021, pattern recognition needed to be supplemented by another approach to character recognition.
Feature Detection
Also known as feature extraction, feature detection focuses on the component elements of printed characters rather than looking at the character as a whole. Where pattern recognition tries to match characters to known libraries, this approach looks for very specific features that distinguish one character from another. A character that features two angular lines that come to a point and are crossed by a horizontal line in the middle, for instance, is almost always an “A,” regardless of the font used. Feature detection focuses on these qualities, which allows it to identify a character even the program has never encountered a particular font before. As the printed examples above demonstrate, however, this approach needs to take several ways of rendering the character “A” into consideration when setting parameters.
Most character recognition software tools utilize feature detection because it offers far more flexibility than pattern recognition. This is especially valuable for reading document images with faded ink or some degradation that could prevent an exact pattern match. Feature detection provides enough flexibility for a program to be able to identify characters under less than ideal circumstances, which is important for any application that has to deal with scanned images.
OCR vs ICR: What’s the Difference?
Optical character recognition (OCR) is typically understood to apply to any recognition technology that reads machine printed text. A classic OCR use case would involve reading the image of a printed document, such as a book page, newspaper clipping, or a legal contract, and then translating the characters into a separate file that could be searched and edited with a document viewer or word processor. It’s also incredibly useful for automating forms processing. By zonally applying the OCR engine to form fields, information can be quickly extracted and entered elsewhere, such as a spreadsheet or database.
When it comes to form fields, however, information is frequently entered by hand rather than typed. Reading hand-printed text adds another layer of complexity to character recognition. The range of more than 700,000 printed font types is insignificant compared to the near infinite variations in hand-printed characters. Not only must the recognition software account for stylistic variations, but also the type of writing implement used, the quality of the paper, mistakes, steadiness of hand, and smudges or running ink.
Intelligent character recognition (ICR) utilizes constantly updating algorithms to gather more data about variations in hand-printed characters to identify them more accurately. Developed in the early 1990s to help automate forms processing, ICR makes it possible to translate manually entered information into text that can be easily read, searched, and edited. It is most effective when used to read characters that are clearly separated into individual areas or zones, such as fixed fields used on many structured forms.
Both OCR and ICR can be set up to read multiple languages, although limiting the range of expected characters to fewer languages will result in more optimal recognition results. Critically, ICR does not read cursive handwriting because it must still be able to evaluate each individual character. With cursive handwriting, it’s not always clear where one character ends and another begins, and the individual variations from one sample to another are even greater than with hand-printed text. Intelligent word recognition (IWR) is a newer technology that focuses on reading an entire word in context rather than identifying individual characters.
To learn more about how OCR vs ICR technology and how they can transform your application when it comes to managing documents and automated forms processing, download our whitepaper on the topic today.
Whether your clients are working on processing a loan or gathering financial data for a consumer’s credit request, lending is a complex process that is only getting more complicated in this fast-paced digital era. Your application helps financial institutions address a variety of pain points, but is it solving the one that’s most pressing today?
Finding consumer data should be easy. However, lenders deal with multiple forms, files and documents, all containing various data points in different formats. Needless to say, juggling Excel, PDF, Word, JPEG and other file types all at once can get complicated quickly – especially when you consider there are thousands of people applying for loans daily.
As we discussed in our recent blog post, Build Data Extraction Into Your Financial Application, a major advantage of using algorithms like optical character recognition (OCR) and intelligent character recognition (ICR) is that they provide searchable borrower data. In addition, these algorithms reduce the processing time delivering data to your lending teams faster.
Banks can use these algorithms to search prospective borrower histories in seconds for unique identifiers like name, Social Security number, or employer ID. While OCR and ICR are both crucial for searching borrower data in an application, they wouldn’t help much if the lender didn’t have a way to view a variety of different formats in a singular viewer.
Document Viewing as a Service
Financial institutions are searching for a standard procedure to help them facilitate viewing of and collaborating on borrower histories. Due to time restrictions, they need a procedure that simplifies functions like search, annotation, file conversion, and more.
What if there was a way to view a variety of different document types within your own application? Imagine a lender uploading the forms into your product, viewing customer data all in one place, sending information through various approval routes, and searching for the information they need in seconds. Our previous blogs Adding Document Capture Into Your Financial Application and Adding Form Processing Into Your Application explain these pain points in further detail. Building out the entire process could take a long while to code, which can easily be avoided by integrating Accusoft products into your solution.
With Accusoft’s unique software development kits (SDKs) and application programming interfaces (APIs), you can integrate a variety of different features into your product to help lenders process credit applications faster. They can view consumer data within files, identify data in form fields, and extract borrower information into a database.
A Pre-Built Solution to Enhance Your Product
Accusoft has a solution that can greatly reduce your coding time. PrizmDoc is a highly versatile document viewer that handles a variety of issues typically encountered in loan origination. Easily embeddable into applications, the PrizmDoc HTML5 viewer enables you to worry less about code and focus more on your clients’ pain points.
When you integrate PrizmDoc into your application, your lenders can view dozens of file formats, including the text files most commonly associated with loan processing, without leaving the native program. For example, if a lender needs to view an Excel file, they can view it within your application without opening Excel itself and exiting your application.
In addition, PrizmDoc has search functionality that enables you to find information quickly and efficiently. When you search a document for specific information, PrizmDoc uses hit highlighting to locate the information in seconds – even if the document is thousands of pages long.
With these unique features already in PrizmDoc, it’s easy to see why Accusoft products are trusted by major brands. Make sure your clients are getting the versatility they need by delivering a customized solution for them. When you integrate the PrizmDoc HTML5 viewer into your application, you’re saving coding time and creating a more powerful solution for your customers.
Stay tuned to learn more about the loan origination process and what pain points your application can solve in our next blog. For more information on PrizmDoc, visit our overview page. If you have any questions for the Accusoft team, feel free to contact us.
The lifeblood of transportation companies is the ability for clients to check their shipping order status. For Manitoulin, they enhanced their web portal for customers to retrieve and view scanned documents including, bills of lading, proofs of delivery, and invoices. Shortly after its launch, the portal was accommodating over 35,000 visits per month, and challenges with viewing speed arose. Learn how Manitoulin solved this problem with Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®.
To comply with federal anti-money laundering/anti-terrorist laws and regulations, the USPS analyzes images of cleared postal money orders to detect possible suspicious activity. Because there are no required standards for the image formats, when the Federal Reserve initiates the digital process and issues the electronic image of the money order, the USPS must be able to read the multiple formats as well as convert the files to a standard format for analysis. Each money order is made up of two images, one each for the front and back.