The ABBYY FineReader Engine (FRE) distribution package contains a set of code samples for common FRE usage scenarios. This topic provides general information about the samples and where to find them. These samples which show how to use FRE are provided as follows:Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
- macOS
Samples for C++ and Objective-C are available in the Samples folder under the FineReader Engine installation folder. - Linux
Samples for C++ and Java are available in the Samples folder under the FineReader Engine installation folder. - Windows
Samples for raw C++, C++ with native COM support, C#, Visual Basic .NET, .NET Core, Java, and scripting languages are available in the FineReader Engine data folder. Windows also provides Demo Tools in C# in the Demo Tools subfolder.
For samples in Java, see the list of supported Java Development Kits in System Requirements. To work with the code samples, you should provide your Customer Project ID. It should be specified in the SamplesConfig.h file (for samples in C++) or directly inside the code (for samples in Objective C).
| Sample Name | Description | Availability |
|---|---|---|
| BatchProcessing | Shows how to use Batch Processor for processing a large amount of one-page documents. | Windows: C#, C++ (native COM support), raw C++, Java, Visual Basic .NET Linux: C++, Java |
| BCR | Shows how you can extract data from business cards using FineReader Engine. | Linux: C++ |
| Business Card Recognition | Shows how you can extract data from business cards using FineReader Engine. | macOS: Objective-C |
| Classification | You can train ABBYY FineReader Engine to classify any types of documents. | Linux: C++ macOS: C++ |
| CommandLineInterface | Provides the command line interface of ABBYY FineReader Engine. The sample produces a CommandLineInterface utility, which supports most of the ABBYY FineReader Engine API functions through numerous keys. | macOS: C++ Linux: C++ Windows: raw C++ |
| CustomLanguage | Creates a new recognition language and changes its dictionary to a manually-created sample dictionary. After recognition, it calculates the number of words in the text and how many of them were found in the user dictionary. | Windows: C#, C++ (native COM support), raw C++, Visual Basic .NET Linux: C++ |
| Data Extraction | Demonstrates the use of DataExtraction profile to extract as much useful data from a document as possible. | Windows: C# for .NET Core |
| Document Comparison | Shows how you can compare a document or page with its copy. | Windows: C++ Linux: C++ macOS: C++ |
| EnginesPool | Provides a complete reusable solution for a pool of FineReader Engine objects in a multithreaded application and demonstrates the gain in speed when using multithreaded processing. | Windows: C#, Java |
| EventsHandling | Illustrates the use of the callback interfaces using the FRDocument callback interface (IFRDocumentEvents) as an example. The sample shows the progress of recognition and export during image processing. | Windows: C#, C++ (native COM support), raw C++, Java, Visual Basic .NET Linux: C++, Java |
| Hello | Performs document conversion with just a few lines of code. This sample will help you to start development using the ABBYY SDK. | Windows: C#, C++ (native COM support), raw C++, Java, VBScript, JavaScript, Perl, Visual Basic .NET, .NET Core Linux: C++, Java |
| Hello (Outproc) | Performs the basic sample of document conversion in a separate process with ABBYY FineReader Engine. | Linux: C++, Java |
| HelloBCR | Shows how you can extract data from business cards using FineReader Engine. | Windows: C# for .NET Core |
| ICR | Performs handwritten text recognition. | Linux: C++ |
| MRZExtraction | Shows how you can extract data from a machine-readable zone (MRZ). | Windows: C# Linux: C++ |
| Multithreading | Demonstrates image processing in parallel threads. | Linux: C++, Java |
| RecognizedTextProcessing | Calculates recognition statistics (e.g., the number of suspicious characters and unrecognized characters, the number of words that are not in the dictionary). | Windows: C#, C++ (native COM support), raw C++, Visual Basic .NET |
| rmiPoolClient | Shows how to use the com.abbyy.rmi.FREngine and com.abbyy.rmi.pool.FREngine packages to create a single-thread client which works with a processing server as implemented in the rmiPoolServer sample. | Linux: Java |
| rmiPoolServer | Shows how to use the com.abbyy.rmi.pool.impl.FREngine package to create a server application which manages a pool of worker threads (as implemented by rmiWorker sample), each running a separate instance of FineReader Engine. | Linux: Java |
| rmiWorker | Shows how to use the com.abbyy.rmi.server.FREngine package to create a simple single-thread server for processing. | Linux: Java |
| rmiWorkerClient | Shows how to use the com.abbyy.rmi.FREngine package to create a client which works with a processing server as implemented in the rmiWorker sample. | Linux: Java |
| Scanning | Provides a simple implementation of a “scanning computer”. | Windows: C# |
| SAFEARRAY\_Hello | Demonstrates the basic sample of document processing with the SAFEARRAY type usage. | Linux: C++ macOS: C++ |
| threadPoolClient | (Java) Shows how to use the com.abbyy.rmi.FREngine and com.abbyy.rmi.pool.FREngine packages to create a multi-thread client which works with a processing server as implemented in the rmiPoolServer sample. The client uses the standard ExecutorService interface to organise parallel processing of all images in a folder. | Linux: Java |
| TiffToRtf | Performs document conversion with just a few lines of code. This sample will help you to start development using the ABBYY SDK. | macOS: (Objective-C) |
| VisualComponents | From the user interface construction blocks, creates a comprehensive tool for document conversion tasks. This sample will help you to start development with the ABBYY Visual Components. | Windows: C#, C++ (native COM support), Visual Basic .NET |
| Sample Name | Description |
|---|---|
| Classification | Shows how you can train FineReader Engine to classify any types of documents. |
| Engine Predefined Processing Profiles | Shows how you can easily configure FineReader Engine with predefined processing profiles. |
| PDFExportProfiles | Shows the advantages of using export profiles during export to PDF. |
| MultiProcessingRecognition | Shows the gain in speed when using multi-processing recognition with FRDocument object. |
| BatchProcessingRecognition | Shows the gain in speed when using multi-processing recognition with Batch Processor. |
| Document Comparison | Shows how you can compare a document or page with its copy. |
| User Pattern Training Utility for Windows Visual Components | Shows how you can work with user patterns when processing text sets in decorative fonts, texts containing unusual characters, large volumes of texts of low print quality. |
