Skip to main content

Pdftools OCR Service

Pdftools OCR Service enables optical character recognition (OCR) to extract text from images and scanned documents, transforming them into searchable and editable PDF documents.

You can use Pdftools OCR Service in two ways:

  • With Conversion Service: Configure OCR as a processing step in Conversion Service on Windows Server or in Docker. Refer to Getting started.
  • With Pdftools SDK: Use built-in OCR support in Pdftools SDK to process PDFs programmatically in .NET, Java, Python, or C. Refer to OCR with Pdftools SDK.

Key features

  • Embeds the recognized text in Unicode format into PDF or PDF/A files.
  • Supports over 180 natural and technical languages.
  • Provides an OCR service mode for shared use across multiple platforms.
  • Predefined and custom OCR profiles to optimize for accuracy or performance.
  • Automatic skew correction, rotation, and resolution handling.
  • Detection of tables, barcodes, engineering drawings, and other complex layout elements.

System architecture

Pdftools OCR Service comprises two .NET Core applications, both running on Kestrel servers:

  • Manager node: This node handles HTTP requests and dispatches jobs to available workers.
  • Worker node: Performs the OCR processing. This node handles OCR processing and remains the most resource-intensive component.

This separation allows for flexible deployment and scaling, where a single manager can coordinate multiple workers. For more information, review Scale Pdftools OCR Service.

System requirements

Pdftools OCR Service runs as a manager node and one or more worker nodes, which have different hardware needs.

Worker nodes

These nodes run the OCR engine and require more processing power and memory. The worker node recommended hardware setup is:

  • Windows Server or Linux (x64)
  • 8 GB RAM or more
  • Quad-core CPU or better
  • SSD with at least 4 GB free space

Each worker runs one OCR subprocess per CPU core, up to 8 in parallel, so more cores increase throughput. Larger documents, such as A4 at 600 DPI with many pages, benefit from more memory.

Manager nodes

These nodes coordinate OCR jobs and handle requests, with significantly lower system requirements. The manager node recommended hardware setup is:

  • Windows Server or Linux (x64)
  • 4 GB RAM
  • Quad-core CPU
  • SSD storage

For standalone installations

You can also install the manager and the worker on the same machine. The requirements allocated for Worker nodes suffice.

Supported operating systems

Pdftools OCR Service runs on Windows Server, in Docker, and on native Linux. The worker uses ABBYY FineReader Engine 12 for text recognition.

Windows

Pdftools OCR Service runs on the following Windows Server versions:

Operating systemArchitecture
Windows Server 2019x64
Windows Server 2022x64
Windows Server 2025x64

Docker

Running Pdftools OCR Service in Docker requires the following versions:

ComponentVersion
Docker20.10 or later
Docker Compose1.27 or later

Linux

On a native Linux installation, support depends on the distribution and its major version. For example, Enterprise Linux 10 (EL10), the Red Hat Enterprise Linux 10 family, is supported, but Enterprise Linux 9 (EL9) isn’t. For installation steps, refer to Pdftools OCR Service on Linux.

Supported

The following distributions are validated end-to-end:

DistributionPackage formatNotes
Rocky Linux 10RPMValidated end-to-end. Covers the EL10 family: Rocky, AlmaLinux, RHEL, and Oracle Linux 10.
Ubuntu 24.04 LTSDEBValidated end-to-end.

Likely supported

These distributions aren’t yet in the validation matrix but are expected to work. Installing on these distributions requires bypassing the OS compatibility check, as described in Install on a likely supported distribution. Contact support to report any issues you observe so they can be added to the validated set.

DistributionWhy it’s expected to work
AlmaLinux 10, RHEL 10, Oracle Linux 10RHEL 10 rebuilds with the same EL10 toolchain as Rocky Linux 10.
Ubuntu 22.04 LTSNative libxml2.so.2, libheif1 in main, and glibc 2.35 is compatible with the bundled libstdc++.
Debian 12 (Bookworm)Shares the toolchain base of the supported Docker image.
Debian 13 (Trixie)Same compatibility profile as Debian 12 because libxml2.so.2 was retained for Trixie.

Not supported

The installer refuses on the following distributions, and the override doesn’t help. Setting the override leads to a cryptic runtime crash on the first OCR job, not a clean install failure.

DistributionReason
EL9 family (Rocky, AlmaLinux, RHEL, and Oracle Linux 9)Pdftools OCR Service requires GLIBCXX_3.4.30 (GCC 12 or newer), which isn’t available on EL9.
Ubuntu 25.10 and newerUbuntu 25.10 ships libxml2 2.14 or newer, which bumped the SONAME from libxml2.so.2 to libxml2.so.16 without a backward-compatibility shim. The OCR plugin and worker binary both link libxml2.so.2.
Amazon Linux 2023Fedora-derived but pinned to GCC 11.3, with the same GLIBCXX_3.4.29 ceiling as EL9.
SLES, openSUSE Leap 15.xSystem libstdc++ from GCC 7 caps under GLIBCXX_3.4.30.
caution

Don’t use the PDFTOOLS_SKIP_OS_CHECK=1 override on a distribution listed under Not supported. The install proceeds, but the first OCR job crashes with a cryptic native error instead of failing cleanly at install time.

For an unsupported distribution, deploy Pdftools OCR Service in Docker instead. The Docker image bundles its own runtime and isn’t affected by the host’s libstdc++ or libxml2 version.

Licensing

Pdftools OCR Service requires a license key to operate. You can use one of two license key types:

  • Trial license key
  • Full license key

For information about configuring license keys, review Get started with OCR in Conversion Service. For offline licensing options, review Pdftools OCR Service licensing.

Release management

For information about Pdftools versioning, supported releases, and version availability, review Release management, in Pdftools support documentation.


Logo stating 'Powered by ABBYY' as Pdftools OCR Service uses the ABBYY FineReader.