The Apryse Summer 2026 Release: OUT NOW

Self-hosted OCR that turns scans and image-based PDFs into searchable, machine-readable text

Apryse OCR converts scanned PDFs into searchable PDFs and structured text with position data, in over 80 languages. It runs inside your own application as an add-on to the Apryse Server SDK, on your infrastructure. No pages leave your environment.

Deployment & integration​​​​‌‍​‍​‍‌‍‌​‍‌‍‍‌‌‍‌‌‍‍‌‌‍‍​‍​‍​‍‍​‍​‍‌​‌‍​‌‌‍‍‌‍‍‌‌‌​‌‍‌​‍‍‌‍‍‌‌‍​‍​‍​‍​​‍​‍‌‍‍​‌​‍‌‍‌‌‌‍‌‍​‍​‍​‍‍​‍​‍​‍‌​‌‌​‌‌‌‌‍‌​‌‍‍‌‌‍​‍‌‍‍‌‌‍‍‌‌​‌‍‌‌‌‍‍‌‌​​‍‌‍‌‌‌‍‌​‌‍‍‌‌‌​​‍‌‍‌‌‍‌‍‌​‌‍‌‌​‌‌​​‌​‍‌‍‌‌‌​‌‍‌‌‌‍‍‌‌​‌‍​‌‌‌​‌‍‍‌‌‍‌‍‍​‍‌‍‍‌‌‍‌​​‌‌‍​‍‌‍​‌‍‌‍​​‍‌‍‌‍​​‍​​‌‌‍​​‍‌‌‍‌‌‌‍​​​‌‍‌‌​‍‌​‌​​‌​‌‍‌​​‌​​‍‌‌‍​‍‌‍​‌‌‍‌‌‌‍​‌​‍‌​‌​​‌‌‍​‌​‍​‌‍‌​​​​‌‍‌​​‍​​‌‌​‍​​​​​‍‌​‍‌‌​‌‍‌‌​​‌‍‌‌​‌‌​​‌‍​‌‌‍‌‌‍‌‌​‍‌​​‌‍​‌‌‌​‌‍‍​​‌‌​​‌‍​‌‌‍‌‌‍‌‌‌​​‍‌‌‌‌‍‍‌‌‍​‌‍‌​‌‍‌‌‌​‍​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍​​​​​​‍‌‍​‍‌‍​‍​​‌‍‌​​​‍‌‍​​​‍‌‍‌​​​​​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‍​‌‍‌‍‍‌‌​‌‍‌‌‌‍‍‌‌​​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍‌‍‌​‌‍​​‍​‌‍​‍​‍​‌‍​‌​‌‍​‌​​​‌‍‌‌‌‍‌‍​‍​​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‍​‌‍‍​‌‍‍‌‌‍​‌‍‌​‌​‍‌‍‌‌‌‍‍​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍‌‍‌‌‌‍‌‍​‍​​‌‌‍‌​​‌‍​​​​‌​‌‍‌‍‌‍​​‍‌‌‍‌‍​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‌​‌‍‌‌‌‍​‌‌​​‌‍​‍‌‍​‌‌​‌‍‌‌‌‌‌‌‌​‍‌‍​​‌​‍‌‌​​‍‌​‌‍‌​‌‌​‌‌‌‌‍‌​‌‍‍‌‌‍​‍‌‍‌‍‍‌‌‍‌​​‌‌‍​‍‌‍​‌‍‌‍​​‍‌‍‌‍​​‍​​‌‌‍​​‍‌‌‍‌‌‌‍​​​‌‍‌‌​‍‌​‌​​‌​‌‍‌​​‌​​‍‌‌‍​‍‌‍​‌‌‍‌‌‌‍​‌​‍‌​‌​​‌‌‍​‌​‍​‌‍‌​​​​‌‍‌​​‍​​‌‌​‍​​​​​‍‌​‍‌‍‌‌​‌‍‌‌​​‌‍‌‌​‌‌​​‌‍​‌‌‍‌‌‍‌‌​‍‌‍‌​​‌‍​‌‌‌​‌‍‍​​‌‌​​‌‍​‌‌‍‌‌‍‌‌‌​​‍‌‌‌‌‍‍‌‌‍​‌‍‌​‌‍‌‌‌​‍​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍​​​​​​‍‌‍​‍‌‍​‍​​‌‍‌​​​‍‌‍​​​‍‌‍‌​​​​​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‍​‌‍‌‍‍‌‌​‌‍‌‌‌‍‍‌‌​​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍‌‍‌​‌‍​​‍​‌‍​‍​‍​‌‍​‌​‌‍​‌​​​‌‍‌‌‌‍‌‍​‍​​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‍​‌‍‍​‌‍‍‌‌‍​‌‍‌​‌​‍‌‍‌‌‌‍‍​‍‌‌​‌‌‌​​‍‌‌‌‍‍‌‍‌‌‌‍‌​‍‌‌​​‌​‌​​‍‌‌​​‌​‌​​‍‌‌​​‍​​‍‌‍‌‌‌‍‌‍​‍​​‌‌‍‌​​‌‍​​​​‌​‌‍‌‍‌‍​​‍‌‌‍‌‍​‍‌‌​​‍​​‍​‍‌‌​‌‌‌​‌​​‍‍‌‌​‌‍‌‌‌‍​‌‌​​‍​‍‌‌

Works with your stack

Apryse OCR runs natively in the languages and environments your team already uses. Native bindings for C++, C# (.NET), Java, Python, Node.js, Go, PHP, Ruby, VB, and Objective-C — on Windows, Linux, and macOS (x64 with ARM coming soon).

Node.js and Python install through npm and pip on Windows and Linux; Java installs through Maven; C/C++ and the remaining languages install by expanding the module archive into your existing SDK directory.

npm install @pdftron/ocr

pip install --extra-index-url=https://pypi.apryse.com apryse-ocr

PDFNet.Initialize() must be called before any OCR operation. The OCRTest sample application ships in the main SDK download.

Node.js and Python install through npm and pip on Windows and Linux; Java installs through Maven; C/C++ and the remaining languages install by expanding the module archive into your existing SDK directory. PDFNet.Initialize() must be called before any OCR operation.

npm install @pdftron/ocr

pip install --extra-index-url=https://pypi.apryse.com apryse-ocr

Making a scanned PDF searchable is two calls — set a language, run the module:

Trusted for document workflows where accuracy, control, and deployment flexibility matter.

autodesk logo
boeing logo
notability logo
docusign logo
egress logo
microsoft logo
thomson_reuters logo
encode logo
ibm logo
autodesk logo
boeing logo
notability logo
docusign logo
egress logo
microsoft logo
thomson_reuters logo
encode logo
ibm logo

OCR at a glance

Copied to clipboard

Apryse OCR is an embeddable, self-hosted OCR SDK for offline optical character recognition. It reads scanned images and image-based PDFs, recognizes printed and machine-generated characters, and returns either a searchable PDF with a selectable text layer or structured text with position data for downstream processing.

Capability
What it does
Searchable PDF output
Adds an invisible, selectable text layer to scanned images and image-based PDFs, so documents become searchable and copyable.
Structured text output
Returns OCR results as JSON or XML with text and position data, ready for indexing, search, annotation overlay, or an AI pipeline.
Image format support
Accepts JPEG, PNG, TIFF, BMP, and other common image formats, as well as PDFs containing only raster images. Uses pdftron.PDF.Convert.ToPdf internally for format handling.
Language coverage
Over 80 languages across Latin, Cyrillic, CJK, Devanagari, Arabic, and other scripts. Multiple languages can be recognized in the same document, subject to the mixing rules below.
Zone control
Process a specified region, or exclude a region — for example, ignoring a sidebar image on an otherwise text-heavy page.
CPU-only processing
The default module is built on deep learning neural networks and does not require a GPU.
Self-hosted
Runs inside your application on infrastructure you control. Documents are not sent to Apryse or a third-party service.

What comes out

Copied to clipboard

OCR produces two things directly: a PDF with an invisible, selectable text layer, and structured text you can use without touching the PDF at all.

Output
Format
Produced by
Searchable PDF
PDF with invisible selectable text layer
OCRModule.ProcessPDF / OCRModule.ImageToPDF
Structured text and coordinates
JSON
OCRModule.GetOCRJsonFromImage / GetOCRJsonFromPDF
Structured text and coordinates
XML
OCRModule.GetOCRXmlFromImage / GetOCRXmlFromPDF

Structured output

The structured output is nested — pages contain paragraphs, which contain lines, which contain words. Each page carries its number, DPI, and coordinate origin (top-left or PDF-style bottom-left). Each word carries its bounding box x and y, length, font size, text, and orientation. Each line optionally carries a bounding box.

That structure is what makes results reviewable rather than opaque: every recognized word can be traced to a location on the page and overlaid, highlighted, or validated before it is trusted.

Because the output is a PDF, the rest of the Server SDK picks it up from there. Converting a searchable PDF to PDF/A is part of the base package. Converting it to DOCX, XLSX, PPTX, or HTML uses the Structured Output Module, a separate add-on on the same SDK.

Language coverage and mixing

The default OCR module includes models optimized for English, plus multilingual models covering over 80 languages across six script groups: Latin, Cyrillic, CJK, Devanagari, Arabic, and Other (Greek, Georgian, Tamil, Telugu, Thai).

More than one language can be recognized in the same document. The rules:

  • English can be mixed with any other language.
  • Languages within the same script group can be mixed with each other — any combination of Latin languages, for example.
  • Korean can only be mixed with English.
  • Languages in the Other group cannot be mixed with each other, and can only be mixed with English.
  • Any other combination returns an error.

Text orientation detection is not supported for Cyrillic, Devanagari, and Arabic languages, or for Korean.

When to consider OCR

When scanned documents, faxes, photographed pages, or image-only PDFs are blocking search, indexing, data extraction, or accessibility in your application — and those documents cannot be sent to a public cloud service. OCR runs inside your application, on your infrastructure, on CPU. For handwritten source material, use the Handwriting ICR Module. To go beyond text recognition and pull out tables, key-value pairs, form fields, and document classifications — with preprocessing such as deskewing, despeckling, and rotation cleanup applied first — use Smart Data Extraction, which can call OCR as part of its own pipeline.

How it works

OCR is an add-on module to the Apryse Server SDK. You download the module, install it alongside the SDK, and call it from the same API you already use for the rest of your document pipeline.

Hand it the page

Pass a scanned image, a set of images, or an image-based PDF. The module converts supported image formats to PDF internally, so all inputs follow the same path.

Set languages and zones

Select one or more target languages, restrict recognition to zones or exclude them, and override the input DPI if the source resolution is known.

Recognize

The engine identifies characters and their positions on the page. Processing runs on CPU inside your environment. No page content is uploaded.

Take the output

Write the results back as an invisible text layer to produce a searchable PDF, or pull JSON or XML with word-level position data for validation, indexing, overlay, or downstream extraction.

Typical workflow

Scanned image or image-based PDF → format conversion → language, zone, and DPI options → recognition → JSON/XML validation pass → searchable PDF → search index, database, extraction pipeline, or LLM.

How Apryse OCR compares with other approaches

Teams adding OCR to an application usually weigh four options: a cloud OCR API, an open-source engine, an enterprise IDP platform, or a general-purpose AI model. Apryse OCR is the embedded SDK approach.

Over a cloud OCR API

Copied to clipboard

A cloud API sends every page to infrastructure you do not control, and offline or disconnected operation is not available. Apryse OCR runs inside your application, on your own servers. For teams handling regulated, privileged, or personal data — or working under data residency requirements — that is usually the deciding factor.

Over an open-source OCR engine

Copied to clipboard

Open-source engines are free to adopt and expensive to operate: your team owns tuning, preprocessing, language packs, output formats, upgrades, and every accuracy regression. Apryse OCR is a commercially supported module with searchable PDF and JSON/XML output built in, integrated with the same SDK that handles the rest of your document work. The tradeoff is a license cost against engineering and maintenance time.

Over an enterprise IDP platform

Copied to clipboard

IDP platforms are built around business-user workflows: queues, review screens, and low-code configuration. Apryse OCR is an SDK module, not a platform. It gives developers direct control over the recognition step inside the application they are building, rather than routing documents into a separate system.

Over a general-purpose AI model

Copied to clipboard

A general-purpose LLM combines OCR, extraction, and interpretation, making results less predictable. Apryse OCR delivers auditable positional text on your CPU without sending pages to a model provider. Using OCR first also lowers costs: models process text far more efficiently than page images, reducing token usage while providing cleaner input.

AI-powered OCR for real-world documents

Watch how mixed document packets are automatically classified, separated, and processed to extract key data with confidence scores and structured output ready for downstream workflows.

Deployment and integration

Copied to clipboard

Apryse OCR is embedded in your application and runs on infrastructure controlled by your organization.

Attribute
Details
Integration model
Add-on module for the Apryse Server SDK, embedded in your application.
SDK availability
Server SDK only. Not available for the Web SDK or Mobile SDK through this module.
Supported operating systems
Windows, Linux, and macOS (x64). ARM and 32-bit are not supported.
Languages and bindings
.NET, Java, Python, Node.js, C++, Go, PHP, Ruby, Objective-C
Installation
Node.js via npm and Python via pip (Windows and Linux); Java via Maven; C/C++ and others by expanding the module archive into the SDK directory.
Input formats
JPEG, PNG, TIFF, BMP, and other common image formats, plus PDFs containing only raster images.
Output
Searchable PDF with a selectable text layer, or JSON/XML with text and position data.
Hardware
CPU only. No GPU required.
Sample application
OCRTest, included in the main SDK download.
Licensing
Add-on package license to the Apryse Server SDK. Trial keys have unlimited access to all add-on modules.

Documents are processed inside your environment and are not sent to Apryse or a third party for processing.

Download the OCR Module →

Common use cases

Use OCR wherever image-based documents enter an application and need to become text: records systems, claims and lending workflows, contract repositories, archives, and search indexes.

Sanity Image

Financial services

Convert scanned cheques, bank statements, and account documents into searchable, machine-readable records for data entry automation.

Sanity Image

Insurance

Read scanned claims packets, loss forms, and supporting records so their contents can be indexed and routed.

Sanity Image

Legal

Make scanned discovery material, correspondence, and case files full-text searchable inside controlled infrastructure.

Sanity Image

Healthcare and life sciences

Convert scanned clinical and administrative documents into searchable text in private deployment environments.

Sanity Image

Government and public sector

Digitize scanned archives and records so they can be searched, indexed, and preserved on-premises.

Sanity Image

Logistics and trade

Read invoices, shipping records, and customs paperwork arriving as scans from varied sources.

Sanity Image

Accessibility

Add selectable text layers to scanned documents so screen readers and other assistive technology can reach the content.

Frequently asked questions

Apryse OCR is a self-hosted add-on module for the Apryse Server SDK that converts scanned images and image-based PDFs into machine-readable text. It produces searchable PDFs with selectable text layers, or structured JSON and XML containing text and position data. It runs inside an application, on infrastructure controlled by the customer.

No. OCR runs inside your application on your own infrastructure. Pages are not sent to Apryse or to a third-party service for processing.

The default OCR module supports over 80 languages across Latin, Cyrillic, CJK, Devanagari, Arabic, and other scripts including Greek, Georgian, Tamil, Telugu, and Thai. The Alternative OCR module covers English, French, German, Italian, Spanish, and Russian. IRIS OCR adds Chinese, Japanese, and Korean to that set.

Start with the default OCR module — it has the best accuracy and the widest language coverage, and needs no GPU. Choose the Alternative OCR module when processing time and memory footprint matter more than peak accuracy. Choose IRIS OCR for pages with multiple disconnected text regions, such as magazine covers or CAD drawings.

Yes, within limits. English can be mixed with any other language, and languages within the same script group can be mixed with each other. Korean can only be mixed with English, and the languages in the Other group can only be mixed with English rather than with each other. Any other combination returns an error.

A color or grayscale image at approximately 300 DPI is the ideal input, but with V12 image quality can be as low as 75dpi and have some level of recognized text. Recognition quality depends on the source: resolution, contrast, skew, and scan noise all affect the result.

No. OCR recognizes printed and machine-generated characters. Handwritten content requires the Handwriting ICR Module, which uses neural networks trained to adapt to individual writing styles.

Yes. JSON and XML output carries text and position data, so recognized content can be indexed, overlaid, or passed to Smart Data Extraction for tables, key-value pairs, and form fields before reaching a downstream application or model. Converting pages to text before the model is called also saves token cost, since a page sent as an image consumes considerably more tokens than the same page sent as text.

OCR is a Server SDK module. Web and mobile front ends call it server-side, and the resulting searchable PDF is then viewed or annotated in the Apryse Web SDK or Mobile SDK.

Windows, Linux, and macOS on x64. 32-bit platforms are not supported for add-on modules. Node.js and Python packages are available for Windows and Linux; other languages install by expanding the module archive into the SDK directory. ARM and Apple M architecture are coming soon.

OCR is licensed as an add-on package to the Apryse Server SDK and requires a separate module download. IRIS OCR is an additional add-on package as it is a commercial third-party engine. Trial keys have unlimited access to all add-on modules during evaluation. Contact Apryse for pricing based on your deployment and the capabilities you need.

Run it against your worst scans

Load your own scans, faxes, and image-only PDFs and check accuracy inside your own environment — on the documents you actually receive, not a clean sample set. No credit card required.