Discover the answers to Frequently Asked Questions about SmartZone below.

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. 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.

Please refer to the specific code samples listed below:

1) If you are using the .NET control the Classifier property is set as follows according to the type of recognition you are performing (MachinePrint or HandPrint).
SmartZone2.Reader.Classifier = Classifier.MachinePrint;
SmartZone2.Reader.Classifier = Classifier.HandPrint;
2) If you are using the ActiveX control the Classifier property is set as follows according to the type of recognition you are performing (MachinePrint or HandPrint).
SmartZone1.Classifier = SZ_ClassifierMachinePrint
SmartZone1.Classifier = SZ_ClassifierHandPrint

Please refer to the specific code samples below:

1) If you are using the .NET control you set the Language property. For example:
SmartZone2.Reader.CharacterSet.Language = Language.WesternEuropean;
2) If you are using the ActiveX control you set the CharacterSetLanguage property. For example:
SmartZone1.CharacterSetLanguage = SZ_WesternEuropeanLanguages
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\

Please note: You must have received unlock codes in order to distribute applications. These are received when runtimes are purchased. If you have not received them, please contact Sales.

If you have Automatically Reported Runtime (Node-locked) licenses, then you must call the SetSolutionName() and SetSolutionKey() methods at some point before using the control. Example:

SmartZone1.Licensing.SetSolutionKey(1234, 1234, 1234, 1234);

In addition to the above, on the runtime machine, you'll also need to run the Server License Utility (SLU) to have a license from your pool placed onto the machine. Please see the page Server License Utility (SLU) in the SmartZone documentation for details.

If you have Manually Reported Runtime (Non node-locked or OEM), you will only need to call the SetSolutionName(), SetSolutionKey(), and SetOEMLicenseKey() functions near the start of your application, supplying the appropriate licensing information. Example:

SmartZone1.Licensing.SetSolutionKey(1234, 1234, 1234, 1234);

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.
Since overall, each scenario is different due to the different types of forms being used, here are some guidelines to help achieve the best results: For FormFix
  • Your form templates should only have images of blank, unfilled forms. Ideally, you do not want to use an image from a filled-in form, or a form with data that is unique to other images you expect to match with it. FormFix will examine each pixel in the template when processing against an incoming image to determine a match. If there is unique data on the template that doesn't appear on the incoming image, FormFix could reject the incoming image, determining it not to be a match to the template.
  • Always use the same DPI for your templates and incoming, filled-in images when processing forms.
  • The IdentificationQuality parameter tells FormFix how much effort to put into recognizing detail in the image. Higher settings will have it pay more attention to detail, but is slower. And, lower settings are more lenient, but can lead to false-positives.
  • When defining fields for OMR, FormFix will be looking for the actual bubbles or checkboxes to exist in the field.
For SmartZone
  • SmartZone processes binary, 1-bit images. So, if you have color images, you'll want to binarize them in such a way that favors good quality of the text characters that appear on the image.
  • Acquiring images at higher DPI resolutions (300 or above) will allow the text objects to be represented by more pixels This is particularly useful for smaller text that's on the image.
For ScanFix
  • Sometimes removing lines on the entire form after identification can help accommodate better OCR & ICR detection.
  • While AutoBinarize works well in general cases, sometimes using the Binarize method and manually setting parameters can provide a better tweak.
  • If your documents have disturbing amounts of background noise that's showing after binarizing, try using Image Detergent before performing the binarize.
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.

1) If you are using the ActiveX interface please distribute the following DLL:

Please Note: You must register the PegasusImaging.ActiveXSmartZone2.dll either via your installation program or manually via the regsvr32.exe utility. 2) If you are using the .NET interface please distribute the following DLL:

1) If you are using the the OCR recognition please distribute the following DLL:

If you are using the ICR recognition please distribute the following DLL:
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 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 development license, 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 SetSolutionName correct.

The likely reason is that when calling the AnalyzeField method the image data being passed into the method is not being released. Please refer to the appropriate sample code listed below which demonstrates how the image data needs to be released.


System.IntPtr data;
myTextBlockRes = SmartZone2.Reader.AnalyzeField(data);

Visual Basic 6

'Declare the GlobalFree API function
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
SmartZone1.AnalyzeField DIB
GlobalFree DIB
Don't see your question answered here?

Fill out the short form below and we will get back to you as soon as possible.

Please be as specific as possible when writing your question.