
Optical Character Recognition RT


Use OCR component to retrieve text from image, for example from scanned paper document.
- uses Windows OCR engine and WinRT API
- requires Windows 10 or newer
- available for Delphi/C++Builder 7 - 12
- source code included in registered version
- royalty free distribution in applications
Download and order
Order OCR RT component $120 USD (license for one developer)
Order OCR RT multi-license $360 USD (license for all developers in company)
Order OCR RT year upgrades $60 USD (registered users only)
Order OCR RT year upgrades multi-license $180 USD (registered multi-license users only)
FAQ
How can I recognize multiple images in parallel?
procedure Ocr(const FileName: string; Finished: TProc<string, TResult>); begin const RtOcr = TRtOcr.Create(nil); try RtOcr.Picture.LoadFromFile(FileName); RtOcr.Recognize(RtOcr.AvailableLanguages[0], procedure (const Result: TResult) begin RtOcr.Free; Finished(FileName, Result); end); except RtOcr.Free; raise; end; end; procedure TFormMain.ButtonOcrClick(Sender: TObject); begin const FileNames = ['image1.jpg', 'image2.jpg', 'image3.jpg']; var Count := 0; for var FileName in FileNames do Ocr(FileName, procedure (FileName: string; Result: TResult) begin if Result.Status = stCompleted then TFile.WriteAllText(TPath.ChangeExtension(FileName, '.txt'), Result.Text) else ShowMessage('OCR error in file ' + FileName); Inc(Count); if Count = Length(FileNames) then ShowMessage('OCR completed'); end); end;