Aspose.OCR for CPP 21.2 Release Notes

All Features

Key Summary Category
OCRCPP-169 Add blacklist for recognition symbols Enhancement


  • Added ability to set ignored symbols for recognition

Public API and Backwards Incompatible Changes


Structure Description

Settings for the image recognition. Contains elements that allow customizing the recognition process. 


- all_image (true/false) - turning on means recognizing the image as a single area
- correct_skew - detects orientation and auto-rotate image if needed
- alphabet - set of allowed characters in the alphabet (symbols for recognition). L”” by default (all alphabet allowed)
- format - export_format. Allowed options - text or JSON. In JSON format for rectangles, you will get the extended result with areas coordinates and text in these areas
- rectangles - an array of rect structure to set areas for recognition
- rectangles_size - the size of rectangles array
- skew - rotate image on specified angle. Doesn’t work if rectangles are specified
- language_alphabet - language used for OCR. Supported languages: English (en), German (de), Portuguese (pt), Spanish (es), French (fr), Italian (it). Multi-language by default.

new field:
 - ignoredCharacters - sets blacklist for recognition symbols. L”” by default (all alphabet allowed)

Removed APIs

No Changes

Example (C++17 since filesystem)

#include <iostream>
#include <aspose_ocr.h>
#include <filesystem>
#include <corecrt_io.h>
#include <fcntl.h>
int main()
_setmode(_fileno(stdout), _O_U16TEXT);
//Current directory const
std::filesystem::path path{ std::filesystem::current_path() };
/* asposeocr_set_license */
const std::string lic = "/Aspose.Total.lic";
std::filesystem::path license = path.string() + lic;
/* asposeocr_set_license */
bool lic_result = asposeocr_get_state();
//Recognize image
std::filesystem::path image = path.string() + "/p.png";
// Prepare buffer for result (in symbols, len_byte = len * sizeof(wchar_t))
const size_t len = 4096; 
wchar_t buffer[len] = { 0 };

/* asposeocr_page_from_uri*/

const char* uri = "";

RecognitionSettings settings;
   settings.all_image = true;
   settings.ignoredCharacters = L"ao1.,";

size_t res_len = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer;

/* asposeocr_page_settings*/

RecognitionSettings settings_img;
   settings_img.all_image = false; 
   settings_img.ignoredCharacters = L"0123456789";

res_len = asposeocr_page_settings(image.string().c_str(), buffer, len, settings_img);
std::wcout << buffer;