Forms Processing Overview: Using the Forms API
Accusoft Forms API v1.0 is a set of classes that encapsulates the implementation required to connect FormSuite components together to build a forms processing application. In previous releases of FormSuite, you had to code against the APIs of the components of FormSuite to build a forms processing solution. This could include coding against the APIs of FormFix, FormDirector, SmartZone OCR and ICR, ScanFix Xpress, and possibly other components sold separately from FormSuite. Furthermore, to maximize the performance of these components, you had to understand the best practice use of these APIs. Forms API removes this burden and implements a standard forms processing workflow using best practices of Accusoft’s form processing and recognition components.
We provide the API as both source code and compiled binaries (which will be used by FormAssist and the Forms Processing Server sample). The motivation to ship as source code is to allow you to reuse the API in a solution that uses an alternative forms processing workflow or other recognition engines.
Since the API does not completely wrap the FormSuite API, you’ll still have to interact with result objects from the FormSuite components. Also, you can optionally load and save form sets and form definitions using the FormDirector component, or it can leave all of this functionality up to the Forms API.
The Accusoft Forms API will only support forms processing functionality. It does not support any form set creation or editing functionality. Furthermore, the processing functionality supports one forms processing workflow, which is the standard workflow implemented by FormAssist in previous releases of FormSuite. The Accusoft Forms API encapsulates the usage of all the FormSuite components.
The Forms API wraps the details of interacting with the FormSuite components to make your forms processing application development easier.
We provide two demonstration samples to guide you in using the Forms API:
- Forms Processing Server application – demonstrates the capabilities of FormSuite when used in an unattended batched processing mode, as in a server application.
- FormAssist sample application – demonstrates the capabilities of FormSuite when used in a desktop GUI-driven application.
Automating your forms processing using FormSuite has two main steps:
- FormSet Creation - involves selection of image files to be used as form templates, and definitions for processing OCR, ICR, OMR, Barcode, or Clip fields for each template image. The FormAssist application makes it easy to specify processing instructions for each individual field.
- Filled Form Processing - lets you select one or more filled image files for processing, and then processes the images based on the instructions provided. The processing steps include image enhancements, form identification (matching the input image to a form template), form alignment to the template, and processing of each defined field, including OCR, ICR, OMR, Barcode, and image clips.
The individual forms processing activities may be represented by the following illustration:
Of these main two steps, FormAssist does both. But, the Forms API and the Forms Processing Server only perform filled form processing. They don't assist in form set creation. So, you should still use FormAssist to do the form set creation steps.
FormAssist and the Forms Processing Server are primarily designed for demonstrating the underlying technologies; they are not production level applications. However, customers use these demonstration programs to create and test form sets for use in their business processes. Some customers use the C# source code as a foundation for their form set creation process or their production workflow, while others use FormAssist or the Forms Processing Server as their primary form set creation and processing applications.
Forms Processing Workflow
The Processing workflow designed by Accusoft represents one of many possible forms processing workflows.
The following steps describe this process:
- Prior to processing filled forms, you can use the FormAssist application to create form sets.
- Then, process the forms using either the Forms Processing Server or FormAssist.
So now you have a good idea of how the Forms API can help you in developing your forms processing workflows. For more in-depth information such as FormSet creation and processing, image processing, and results generation, visit the complete Forms API documentation. Have questions? Drop us a line at firstname.lastname@example.org or leave a comment below.