Upgrading from SmartZone OCR 3 to SmartZone OCR 7
This section describes how to upgrade from SmartZone 3 to SmartZone 7. While generally you'll be able to replace SmartZone 3 with SmartZone 7, there are a few important changes you may need to consider.
Assembly Changes
Projects must now target .NET Framework 3.5 or later to build with the SmartZone ICR assembly.
The assembly file name has been renamed from Accusoft.SmartZoneOCR3.Net.dll to Accusoft.SmartZoneOCR.Net.dll. Project references must be updated to use the new assembly.
Some native libraries that were previously integrated in the Accusoft.SmartZoneOCR.Net assembly are now included as separate dlls. These libraries will be extracted to the same directory as the assembly when using the Nuget Package. For Windows the libraries are named Accusoft.SmartZoneOCR.Common.dll and Accusoft.SmartZoneOCR.Common64.dll. For Linux distributions, the name of the file is Accusoft.SmartZoneOCR.CommonLinux64.so. These need to be included when redistributing any application that uses the SmartZoneOCR SDK.
Licensing Changes
The SmartZone runtime licensing scheme has changed completely, but you can replace the existing with at most three lines of code. See Changing to Automatically Reported Runtime Licensing and Changing to Manually Reported Runtime Licensing sections below for runtime licensing code examples.
Standard Edition licenses are no longer supported and will not be issued for SmartZone OCR 7.
Runtime Changes
There is now a runtime dependency with Microsoft Visual C++ for VS2015. Although SmartZone OCR 7 includes Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019 and 2022 dependencies for local deployment, it is preferred that Windows host machines install Universal CRT using Microsoft Windows Update.
Performance Changes
SmartZone OCR 7 uses a different OCR recognition engine. Expect some differences in speed and accuracy compared to SmartZone OCR 3.
To retain multi-threaded support, OCR recognition is performed from child processes. Each child process will require between 100 and 350 MB of RAM to operate depending on the operating system, recognition language chosen, input image size, and input image content.
API Changes
The class Accusoft.SmartZoneOCRSdk.SmartZoneException now derives from System.Exception instead of System.ApplicationException. Applications that explicitly catch System.ApplicationException to handle SmartZone exceptions will need updating.
OCR resources are now packaged in folder assets rather than embedding within the assembly. By default, this folder is expected to reside in the same directory as the assembly. However, this folder can be deployed elsewhere and identified at runtime:
IMPORTANT: The path to the OCR resource directory may only use ANSI characters.
Language default character sets have changed. See below for specific changes per character set per language. Apps can edit and define character sets to add characters not presently included for that language with some restrictions.
- English default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©«®°·»„•™ |
| |
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
Punctuation |
§©«®°·»„•™ |
| |
|
|
|
- French default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Œœ„•™ |
|Üü |
AllAlphas |
Œœ |
Üü |
AlphaNumeric |
Œœ |
Üü |
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
œ |
ü |
Punctuation |
§©®°·„•™ |
| |
UpperCase |
Œ |
Ü |
|
|
|
- Spanish default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·ÇÈÒçèò„•™ |
|¡ |
AllAlphas |
ÇÈÒçèò |
|
AlphaNumeric |
ÇÈÒçèò |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
çèò |
|
Punctuation |
§©®°·„•™ |
|¡ |
UpperCase |
ÇÈÒ |
|
|
|
|
- Italian default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Óó„•™ |
| |
AllAlphas |
Óó |
|
AlphaNumeric |
Óó |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
ó |
|
Punctuation |
§©®°·„•™ |
| |
UpperCase |
Ó |
|
|
|
|
- German default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Éé•™ |
| |
AllAlphas |
Éé |
|
AlphaNumeric |
Éé |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
é |
|
Punctuation |
§©®°·•™ |
| |
UpperCase |
É |
|
|
|
|
- Dutch default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©«®°·»ÿŸ„•™ |
|ÀÁÂÄÇÌÍÎÑÒÓÙÚÛàáâäçìíîñòóùú |
AllAlphas |
ÿŸ |
ÀÁÂÄÇÌÍÎÑÒÓÙÚÛàáâäçìíîñòóùú |
AlphaNumeric |
ÿŸ |
ÀÁÂÄÇÌÍÎÑÒÓÙÚÛàáâäçìíîñòóùú |
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
ÿ |
àáâäçìíîñòóùú |
Punctuation |
§©«®°·»„•™ |
| |
UpperCase |
Ÿ |
ÀÁÂÄÇÌÍÎÑÒÓÙÚÛ |
|
|
|
- Portuguese default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©«®°·»Ãã„•™ |
|Èè |
AllAlphas |
Ãã |
Èè |
AlphaNumeric |
Ãã |
Èè |
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
ã |
è |
Punctuation |
§©«®°·»„•™ |
| |
UpperCase |
à |
È |
|
|
|
- Norwegian default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Éé„•™ |
| |
AllAlphas |
Éé |
|
AlphaNumeric |
Éé |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
é |
|
Punctuation |
§©®°·„•™ |
| |
UpperCase |
É |
|
|
|
|
- Finnish default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·„•™ |
| |
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
Punctuation |
§©®°·„•™ |
| |
|
|
|
- Danish default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Éé•™ |
| |
AllAlphas |
Éé |
|
AlphaNumeric |
Éé |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
é |
|
Punctuation |
§©®°·•™ |
| |
UpperCase |
É |
|
|
|
|
- Swedish default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·Éé„•™ |
| |
AllAlphas |
Éé |
|
AlphaNumeric |
Éé |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
é |
|
Punctuation |
§©®°·„•™ |
| |
UpperCase |
É |
|
|
|
|
- WesternEuropean default character sets have changed:
Character Set |
Added |
Removed |
AllCharacters |
¤§©®°·ÃÐÝÞãðýþÿŒœŠšŸŽž•™ |
|¡ |
AllAlphas |
ÃÐÝÞãðýþÿŒœŠšŸŽž |
|
AlphaNumeric |
ÃÐÝÞãðýþÿŒœŠšŸŽž |
|
Arithmetic and ArithmeticSymbols |
()*,/ |
|
Currency and CurrencySymbols |
¤ |
|
LowerCase |
ãðýþÿœšž |
|
Punctuation |
§©®°·•™ |
|¡ |
UpperCase |
ÃÐÝÞŒŠŸŽ |
|
|
|
|
Changing to Automatically Reported Runtime Licensing
Automatically Reported Runtime requires a license to be installed on the end-user's machine. See the Licensing section for more information.
In your SmartZone OCR 3 codebase, replace the UnlockRuntime method with calls to the SetSolutionName and SetSolutionKey methods.
C#
smartzoneOCR1.Licensing.SetSolutionName("YourSolutionName");
smartzoneOCR1.Licensing.SetSolutionKey(12345,12345,12345,12345);
VB.NET
smartzoneOCR1.Licensing.SetSolutionName("YourSolutionName")
smartzoneOCR1.Licensing.SetSolutionKey(12345,12345,12345,12345)
Changing to Manually Reported Runtime Licensing
In your SmartZone OCR 3 or later codebase, replace the UnlockRuntime method with calls to the SetSolutionName, SetSolutionKey, and SetOEMLicenseKey methods.
C#
smartzoneOCR1.Licensing.SetSolutionName("YourSolutionName");
smartzoneOCR1.Licensing.SetSolutionKey(12345,12345,12345,12345);
smartzoneOCR1.Licensing.SetOEMLicenseKey("2.0.AStringForOEMLicensing…");
VB.NET
smartzoneOCR1.Licensing.SetSolutionName("YourSolutionName")
smartzoneOCR1.Licensing.SetSolutionKey(12345,12345,12345,12345)
smartzoneOCR1.Licensing.SetOEMLicenseKey("2.0.AStringForOEMLicensing…")
There is no longer a separate method for web licensing. That functionality has been integrated into the SetOEMLicenseKey method.
If you encounter any porting issues, please contact Support for assistance.