OCR
Category: Processing
The OCR activity extracts machine-readable text from each page image. That text feeds Split, Classify, and Extract, and is also used to locate field values on the page.
PDF text layer
Many PDFs are digitally born and already contain exact text. The PDF Text Layer setting controls how the OCR step treats it:
- Auto (default): each PDF page is checked individually. Digitally-born pages use their embedded text directly, which is exact and does not consume OCR capacity. Scanned pages, scans that carry a hidden text layer from another OCR tool, and pages whose text layer is unreadable are sent to the OCR engine as usual. Mixed files work naturally: the digital pages of a file use embedded text while its scanned pages are recognized.
- Always run OCR: every page is recognized by the OCR engine, and embedded text is ignored.
- Prefer embedded text: any substantial text layer is trusted, including text layers added by another OCR tool. Choose this if your documents were already processed by an OCR you trust.
This setting applies to PDF sources only; images (TIFF, JPEG, PNG, ...) always use the OCR engine. Barcode recognition works together with the PDF text layer: when Microsoft barcodes are selected, the Microsoft call still runs to read barcodes, while the page text is taken from the PDF. Note that the PDF text layer requires an OCR engine to be selected; with "Skip OCR" pages get no text at all.
To see what actually happened, open the transaction's Activity Log: the OCR step entry shows where the text of each page came from (embedded PDF text or the OCR engine that recognized it). In Auto mode it also lists the per-page decision reasons, for example "digital text" or "scanned page", which helps when investigating why a page was or was not read from its PDF text layer.
Notes
- OCR can optionally detect barcodes on each page for use in splitting or extraction.
- The document language is detected automatically and stored with each page's results, at no extra cost. It is used, for example, as the document language of PDF/A-3a archival exports. Microsoft engines detect it on the same call. PaddleOCR identifies it from the recognized text for the Latin script package, and records the main language of the script for the other packages (Russian for Cyrillic, Arabic for Arabic, Hindi for Devanagari). Tesseract reports the configured recognition language when a single one is selected. A page with too little text to tell has no detected language.
- With the PaddleOCR engine, choose the OCR Script Package your documents are written in. The default package reads Latin-script languages (English, German, French, Spanish, Turkish, Polish and 40 more), Chinese and Japanese; the settings list every language it covers. For Cyrillic, Greek, Arabic, Korean, Devanagari, Tamil, Telugu or Thai documents, choose that script's package. Every package also reads English, so a Russian document with English company names needs only the Cyrillic package. A step reads with one package; a step saved earlier with several scripts selected now reads with its non-Latin one.
- With the Tesseract engine, select the recognition language(s) in the step settings. The list offers the language packs installed in your deployment; selecting several recognizes mixed-language documents at some accuracy cost.
- Sideways and upside-down pages are detected by the Microsoft engines and PaddleOCR. The page is read upright and its rotation is recorded, so the viewer, exports and later steps show it the right way up; the stored scan is not changed. A page you have rotated yourself keeps your rotation. PaddleOCR looks at the middle of the page and leaves a page as it is when it cannot tell, for example a nearly blank page.
- Text quality depends on the Import DPI: low-resolution scans produce weaker OCR.