FormSuite for Structured Forms

Build your feature-rich forms processing application quickly and easily.
Get right to the code.

Take control of your forms with our forms processing SDK.

Our forms processing SDK, FormSuite for Structured Forms, is an industry leader in integrating powerful character recognition (OCR, ICR, and OMR), form identification, form dropout, scanned document cleanup, and more to eliminate slow, costly manual data entry and data extraction for structured forms. Available for .NET, our SDK has a full-featured trial available, that includes C# source code for a sample application.

FormSuite for Structured Forms Features

Accusoft’s FormSuite for Structured Forms allows you to integrate powerful character recognition (OCR, ICR, and OMR), form identification, form dropout, scanned document cleanup, and more to eliminate slow, costly manual data entry and data extraction for structured forms.

Fully-functional template creation and setup testing tool empowers you to easily set up the forms processing system and test it prior to production. Source code included to allow you to customize the tool. Fully-functional, multi-threaded processing sample code gets you quickly to a production capable forms processing solution.

Document Data Capture

Overcome manual entry, reduce errors, and streamline forms processing within your application. Capture anything: typed phone number fields, signatures, filled in bubbles, and hand printed text fields. Any data filled into a form can be captured using OCR, ICR, and OMR.

OCR Xpress icon
Optical Character Recognition (OCR)

Add industry-leading OCR functionality to accelerate forms processing.

Form Recognition

Automatically identify scanned forms and match to predefined form templates. Build template sets made of numerous forms so you don’t have to sort them prior to processing. FormSuite for Structured Forms identifies the correct form and aligns it even if it is rotated or skewed or scaled.

SmartZone icon
Intelligent Character Recognition (ICR)

Precision detection and capture of hand-printed form data.

Image Cleanup

Enhance and clean up your scanned images for improved recognition.

FormSuite for Structured Forms Checkbox
Optical Mark Recognition (OMR)

Gain the functionality to detect signatures and capture data from bubble fields and checkboxes.

MICR Recognition

Identify and parse E-13B font from personal or business checks.
*Available as an add-on.

Related Resource

Automating Manual Data Entry with Robotic Process Automation

Learn how FormSuite for Structured Forms helps developers add forms processing technology into their application and enhances RPA solutions. Accusoft’s forms processing technology identifies and detects data from user-filled forms. Then, RPA can extract data from those common forms. The forms processing server grabs images, processes the information, and transfers the data to the RPA bot. Using this output, the RPA bot can easily transfer the data into a legacy system.

Employee Thumbnail
James Upchurch Software Engineer II

James Upchurch joined Accusoft in 2017 as a software engineer and currently works on Accusoft’s SDKs including FormSuite, SmartZone, and ImagXpress. He graduated from the University of South Florida with a Bachelor’s degree in Computer Science with a focus in project management and application design. Now, his interests are customer advocacy and improving engineering processes. Away from work, James enjoys biking around Tampa, playing guitar, writing, and strength training.

Visit the Developer Center
Capture form data in six easy steps.

Document Data Capture

Scan Forms

Scan forms and documents to capture valuable data. Completely bypass manual data entry, which speeds up processing and reduces errors.

Enhance & Cleanup

Set up your process to enhance and clean up scanned images for improved recognition.

Identify & Align Forms

Recognize incoming scanned forms and match them to examples in your master form library.

Dropout & Extract Zones

Drop out the forms for improved data recognition and extract fields of hand-printed text, typed text, check marks, or bubble marks.

OCR, ICR, OMR, & Barcode

Perform optical character recognition (OCR), intelligent character recognition (ICR), or optical mark recognition (OMR) on the extracted fields, which could include data such as names, amounts, or serial numbers.

Store Data

Store the results in a database or pass them to the next step in your forms processing workflow.

Add high-performance OCR for data capture.

Optical Character Recognition (OCR)

Looking to add high-speed forms processing functionality to your application that requires little manual oversight? FormSuite for Structured Forms includes form OCR functionality that provides precise results that require less manual review.

SmartZone icon
Powerful Character Recognition Features

Avoid recognition errors with intelligent character reconstruction.

Character Sets

Predefined character sets such as uppercase, lowercase, mixed case alphabetic, digits, currency, and punctuation allow you limit allowable results.

Improved Accuracy

Improve accuracy using regular expressions to define expected character patterns within fields like telephone, Social Security, or credit card numbers.

Intelligent Identification

Approximate regular expressions and try to match complex character patterns that can be expressed in numerous ways.

Field Designation

Allow designation of standard field types including date, time, email address, phone number, SSN, URL, and currency amount.

Complete & Accurate Results

Confidence Levels & Language Support

FormSuite for Structured Forms allows you to set up a validation station and send form OCR results to it when confidence values fall within your specified threshold. This gives you control over when an operator should review the results, and provides alternate characters to help them quickly select the correct result. With robust language support, FormSuite for Structured Forms provides OCR and ICR support for English, Danish, Dutch, Finnish, French, German, Italian, Norwegian, Portuguese, Spanish, and Swedish.

Verify the origin of documents with special ink

Magnetic Ink Character Recognition (MICR)

Magnetic Ink Character Recognition (MICR) is a technology used to verify the origin of paper documents, specifically checks. There is a special ink that is sensitive to magnetic fields. This ink is used in printing certain characters on documents like a check.

How does it work? The ink contains iron oxide and the plane of the paper is magnetized, allowing MICR readers to pick up the special characters that often look like a barcode at the bottom of the check. It offers legitimacy to the document so that banks know the check is authentic.

With FormSuite for Structured Forms, you can give your users the ability to recognize MICR codes with ease. What does the MICR OCR add-on for FormSuite for Structured Forms include?

  • Recognizes MICR.*
  • Identifies E-13B font within configurable zones.
  • Returns confidence values for each character, field, and line.
  • Parses MICR text into fields defined by ASC X9, Inc.**

*MICR Support is available as an add-on
**See standards document ANSI X9.100-160-1-2004

Recognize forms and obtain data

Form Recognition

Integrate a form recognition toolkit that allows your users to recognize forms and obtain data from form fields. No more manual data entry required. FormSuite for Structured Forms recognizes forms based on the template that you create. Then, it extracts the data automatically.

When users are setting up the forms process, they must load blank templates of the forms they want to use into the system. Once any completed forms are scanned in, FormSuite for Structured Forms will recognize the completed forms and match them to the templates in order to capture the appropriate data. It doesn’t matter if the forms are scanned upside down or sideways, or if they are a different resolution than the original form, FormSuite for Structured Forms will recognize it.

When you integrate FormSuite for Structured Forms into your website or application, your users will be able to process and identify digital forms. FormSuite for Structured Forms provides confidence values for each form field it recognizes to ensure accuracy in processing data.

FormSuite for Structured Forms includes optical mark recognition (OMR), so your users can extract data from filled in bubbles or check boxes. Whether these responses were typed into form fields or marked in a bubble box, this form recognition toolkit captures the data and reports the results with confidence values.

Using form dropout for optical character recognition (OCR), FormSuite for Structured Forms eliminates the guide text in a form field so that the OCR only reads data from the person who filled in the form.

Recognize standard character sets automatically

Intelligent Character Recognition (ICR)

Whether your application needs to process insurance forms, educational tests, or other types of forms, FormSuite for Structured Form’s intelligent character recognition (ICR) engine provides the precision and accuracy you can trust. Seamlessly identify and extract hand-printed characters and data that you can then map to database fields. FormSuite for Structured Forms includes standard character sets such as:

  • Uppercase
  • Lowercase
  • Mixed Case Alphabetic
  • Digits
  • Currency
  • Punctuation

The forms processing SDK also uses standard field types including time, telephone number, date, email address, Social Security number, currency, URL, and custom regular expressions to improve accuracy. The toolkit’s intelligent character recognition engine also supports European style hand printing. Each character, line, and set of complete results is returned with confidence level values. That way users can determine if an operator review is required.

Scan and clean your document or image

Form Cleanup

Your users’ forms should be displayed with clarity and accuracy. Scanners often introduce issues during the process of digitizing paper-based forms for processing. Whether the issue is low contrast, specks, or a skewed image, FormSuite for Structured Forms has a solution. Our document image cleanup toolkit ensures that you have the most accurate representation of your original file, yielding a more accurate data extraction.
FormSuite for Structured Forms has a variety of features for digital forms, but one of the most important is image cleanup. Make sure that your user’s forms appear as clean and professional as possible.

How does document image cleanup work in FormSuite for Structured Forms? When your users scan their forms containing valuable data, FormSuite for Structured Forms extracts the fields of hand-printed text, typed text, check marks, or bubbles. Then, it enhances the image for improved recognition with the following document image cleanup capabilities:

  • Color and Bitonal Image Cleanup
  • Automatic Binarization
  • Deskew and Despeckle
  • Dot Shading Removal and Line Removal
  • Character Smoothing
  • Inverse Text Correction
  • Hole Punch Removal and More

FormSuite for Structured Forms uses Accusoft’s ScanFix technology to clean up your documents and images. With this document image cleanup toolkit, you can enhance a document or image before it’s ever processed. You can even enable a specific field to be handed off to an OCR engine.

Identify marks in your forms

Optical Mark Recognition (OMR)

Form processing has never been easier with FormSuite for Structured Forms. Including an advanced C# OMR feature, this SDK allows you to recognize and process answers on fillable forms like bubble sheets used for educational testing, surveys, financial applications, and more. FormAssist is a demo application included with FormSuite for Structured Forms that lets you configure OMR operations and processes filled images. Our SDK also contains FormFix which enables developers to build powerful form processing applications which include form recognition, registration, dropout, image cleanup, C# OMR, and more.

Detect Signatures with C# OMR

Digital Signatures

FormSuite for Structured Forms is designed for production-ready forms processing. Built with technology that enables developers to capture large amounts of data, FormFix technology was chosen for the second decade in a row for the Decennial United States Census. FormSuite for Structured Forms enables your users to check that all of the fields for signatures have been filled in. For example, large contracts like mortgages have several fields for the applicant to sign. Our SDK ensures that none of these pages are missing signatures. With extensive C# OMR technology, FormSuite for Structured Forms is able to read multiple marks on forms. Whether it is a single markup or multiple markups on the page, everything is processed through the C# OMR feature.

Start your free FormSuite for Structured Forms trial.

Evaluate it for yourself.
Use the form below to download your full-featured trial of FormSuite for Structured Forms. With it, you’ll receive functional sample code to get you started.

Try it

You’re 5 minutes from a working project.

Use the form below to download your full-featured trial of FormSuite for Structured Forms.

Current customers:
Obtain the latest version of FormSuite for Structured Forms by using this download form. If you require further support, please visit our support center or login to the client portal.

What’s New in FormSuite for Structured Forms v5.2

  • Added the ability to create and process AutoClassifier fields with the newest version of FormFix, a component of FormSuite, which includes a new FieldTypeClassificationProcessor to classify field content as either OCR or ICR and run text recognition on the field using the corresponding SmartZone OCR or ICR engine.
  • Updated to the latest version of ImagXpress, a component of FormSuite, which includes improved read support for scanned PDF pages

Detailed Technical Specs


  • Programming environments include Visual Studio 2010, 2012, 2013, 2015, and 2017
  • Sample code is included for VB.NET and C#
  • Creates .NET AnyCPU applications for use in 64-bit and 32-bit environments
  • Deploys within .NET as a managed control
  • Fully compliant with .NET Framework 2.0 and above
  • Can be used in multi-threaded applications
  • Free full-featured trial version available for immediate download

Included Components

    • FormFix Professional
    • FormDirector
    • SmartZone ICR Professional
    • SmartZone OCR Professional
    • ImagXpress Professional
    • NotateXpress
    • PrintPRO
    • TwainPRO
    • ThumbnailXpress
    • ScanFix Xpress

Frequently Asked Questions

FormSuite for Structured Forms FAQs

Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three “keys”, so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining.

No, although if you run an Accusoft licensing utility (as opposed to an OEM key) that will communicate with the Accusoft servers to place a license on your machine. That’s it. When you run your code, network access to Accusoft servers is not necessary.

In order to add a new FormTableColumnHeaderDefinition to a FormTableDefinition object, first create a list of type FormTableColumnHeaderDefinition. Next, each FormTableColumnHeaderDefinition object is created and defined and added to this list using the Add method. Finally, this list is assigned to the FormTableDefinition’s ColumnHeaderDefinitions property.


// Create a table definition
FormTableDefinition tableDefinition = new FormTableDefinition();
tableDefinition.Name = "Line Item Table";

// Setup the columns of the table
List<FormTableColumHeaderDefinition> columnHeaderDefinitions = new List<FormTableColumnHeaderDefinition>();

FormTableColumnHeaderDefinition descriptionColumn = new FormTableColumnHeaderDefinition();
descriptionColumn.DataType = FormFieldDataType.GeneralText;
descriptionColumn.Name = "Description";

FormTableColumnHeaderDefinition amountColumn = new FormTableColumnHeaderDefinition();
amountColumn.DataType = FormFieldDataType.Currency;
amountColumn.Name = "Amount";

tableDefinition.ColumnHeaderDefinitions = columnHeaderDefinitions;

// Add the table definition to the form definition
formDefinition.TableDefinitions.Add(tableDefinition.Name, tableDefinition);

Currently, FormSuite for Invoices only supports U.S-based invoices using the English language. If you have invoices for a different country, we recommend using FormSuite for Structured Formsinstead.

As SmartZone runs, it will create a folder in the %TEMP% directory containing a few files that the engine needs to run. If you want to change this location, you can do that by creating an INI file in the same directory as the executable that runs your application. You must name that INI file smartzoneengineloader.ini. The contents of smartzoneengineloader.ini should look like this:


    [smartzoneengineloader] tempdir = C:\Your\Path\Here\

On Windows:

  • Open Windows Explorer and type into the Navigation Bar.
  • Right Click inside Windows Explorer to bring up the standard context menu.
  • Find “Login As” and click it to login to FTP Server.
  • Provide the user name: support and the password: 853ae90f

For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you’ve successfully logged in, you can drop your files into the folder.

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

The Tagged Image File Format (TIFF) is widely popular, and is particularly used in document imaging. It can support a number of compression types:

  • Packbits – Created by Apple, this lossless compression type is used for run-length encoding (RLE). Baseline TIFF readers must support this compression. Use this compression for higher compatibility with various applications.
  • CCITT (Huffman encoding) – Used particularly for encoding bitonal (or bi-level) images. “Group 3” and “Group 4” are particularly known for its use with fax transmission of images. Using this compression type will help keep smaller file sizes.
  • LZW – A lossless compression type that supports multiple bit depths. Because it’s lossless, it produces files that are generally larger than other compressions. Use this compression if you want to retain the exact visual quality of the image without data loss or artifacts.
  • JPEG – Very popular compression, used for color and grayscale images and can produce high compression ratios. JPEG allows a good amount of control over how the image in question should be compressed. Use this compression for general color or grayscale images.
  • Deflate – A lossless compression using Huffman and LZ77 techniques and also supports different bit depths.

Accusoft supports 3 primary license types: Evaluation, Toolkit, and Runtime licenses.

Evaluation License:

An Evaluation license is available upon download and will allow you to try our products and determine if they will suit your needs. Most downloads include free demo applications that demonstrate the core functionality of our product and will show you how to get up and running integrating Accusoft products with your solution. While the Evaluation license is free to download it does come with some restrictions. These restrictions may come in the form of water marked documents, pop-up dialogue boxes, or a time limit on the Evaluation license itself.

Toolkit License:

Should you decide that an Accusoft product is right for you, the next step should be to purchase one or more of our Toolkit licenses. Accusoft requires each developer using an Accusoft component to have a Toolkit license on their development machine. Once registered, the Toolkit license will unlock all restrictions of the Evaluation license. Please note, the Toolkit license is strictly to be used for development purposes, and when activated, it will be tied the specific development machine that it was registered on. Understandably, the occasion may arise where a Toolkit license needs to be moved from one development machine to another. In such a scenario, please contact sales@accusoft to see if this is feasible. For more information on how to register a Toolkit license on a development machine please see the ‘Toolkit Licensing’ section of your products Help documentation.

Runtime License:

Finally, once you have completed your solution and are ready for deployment, you will need to purchase a Runtime license. Accusoft offers 2 types of Runtime licenses. Most commonly, you will purchase an Automatically Reported Runtime (or Node-Locked) license, which requires a license for every machine your solution will be deployed to. It is very important to note that Runtime licenses are tied to the machine they are activated on and should not be used for development purposes. Doing so will quickly use up your Runtime licenses and cannot be refunded. For more information about how to activate an Automatically Reported Runtime license, please see the ‘Automatically Reported Runtime License’ section of your products Help documentation. In certain circumstances, Accusoft will issue a Manually Reported Runtime licenses that allow you to embed all of the licensing information directly into your application. These licenses are only distributed under certain circumstances and eligibility is determined by Accusoft sales. For more information on how to activate this type of license, please see the ‘Manually Reported Runtime License’ section of your products Help documentation.

There are a number of cleanup operations that you can use to make an image more suitable for a particular application. What you observe visually on the image and how you perceive its impact on your project is the most important. For example, if you’re noticing very many random specks on your image, and you’re planning to use OCR, then you may want to try a depseckle or blob removal operation first. If the content in your image looks a bit slanted, you could try a deskew or rotate operation. In some cases, using a line removal operation on forms that have grid fields could be helpful also. The amount of image cleaning you may need to do can very from project to project. There’s not a one shot cleaning operation that will always work for all images. But, observe the nature of the noise and interference in your images to determine what general parameters appear to provide the best results.

One possibility is that you have strict firewall settings that are preventing our License Manager from connecting with, our licensing server. In order to connect with, you’ll have to make an exception in your firewall for our License Manager so that it can connect to on port 80 for http and port 443 for https.

There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at if you have additional questions. If you want a new license please contact

If you are receiving a “80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).” error while trying to use the LDK on a website created through IIS, it is likely because of a platform conflict (x32 vs x64). To fix it, try checking (or unchecking) “Enable 32-Bit Applications” for the App Pool associated with the website.

There are a few reasons why this might happen:

  1. You have licensed your machine with a runtime/deployment license and you are not calling the SetSolutionName and SetSolutionKey methods in your code. By default, Accusoft products will look for a license in the registry at this path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft. However, for runtime licenses, they are stored at HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. So, when you call SetSolutionName, that tells your application to look in the correct directory to find the runtime license. You can find the necessary parameters for these methods on the customer portal customer portal.
  2.  You did not successfully install a license on your machine and the temporary license installed has expired. If you use the SLU (Server License Utility) or the LDK (License Deployment Kit) to license your machine and it fails, a temporary 14 day license will be placed on your machine. When that expires, you’ll no longer be able to use the product. If this happens, you’ll need to run the SLU or try using the LDK again. If that doesn’t work, you might want to try licensing your machine in offline mode.
  3.  You are trying to use a development license and you are calling SetSolutionName and SetSolutionKey in your code. You should only call SetSolutionName and SetSolutionKey in your code when you are deploying your application and using a deployment license. When you install a development license on your machine, it is placed into the registry at the following path: “HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft”. When you call SetSolutionName in your code, you are telling the control to look for a license at a different path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. If you are calling SetSolutionName and SetSolutionKey while trying to use a developmentlicense, simply comment out those lines for now.
  4. The license information you’ve entered might be wrong. Check on the customer portal to make sure you’ve got the values parameters for the SetSolutionKey and SetSolutionNamecorrect.

This error happens if a particular deployment machine doesn’t have the COMDLG32.OCX file registered. To fix this: 1.   Install the comdlg.ocx dependency, if not available on the target machine. If the comdlg.ocx is not present on the system than it will need to be obtained from a system that has it (it should be available on your development machine in the directory mentioned in step 2). 2.   Place the file in the C:\Windows\System32 folder. (C:\Windows\SysWOW64 on a 64 bit machine) 3.   Register the DLL via the regsvr32.exe command. 4.   You should see a successful message and then be able to proceed with the licensing installation.

FormSuite for Structured Forms Pricing

Pricing for this structured forms processing SDK varies based on product, deployment, and other variables. We’re here to make it easy for you to start using FormSuite for Structured Forms. 



FormSuite for Structured Forms Support Plans

All customers receive free Upgrade Support for 90 days after initial purchase, which includes email support and all product upgrades. Customers wanting longer-term support may choose to extend Upgrade Support, or to move up to Priority or Expedited support.