Searchable PDF With OCR: Multilingual, Mixed-Script, and Accuracy Tuning
OCR a scanned document and most tools handle English well, fail at Arabic and Chinese, and silently break on mixed-script pages. Here's the modern OCR pipeline that handles all three.
Emma Wilson·May 8, 2026·9 min read
Why Most OCR Tools Stop at English
A "searchable PDF" is a PDF where the text content is invisible-but-extractable. Visually it looks like the original scanned page; under the hood there's a text layer that lets you Ctrl+F to find words.
For English-only documents, modern OCR is essentially a solved problem. Tools like Adobe Acrobat, our PDF OCR tool, and command-line Tesseract produce 95%+ accuracy on clean scans.
The trouble starts with non-Latin scripts. Arabic, Chinese, Japanese, Korean, Thai, Hebrew, Hindi, and many other languages need different OCR engines or specific configurations. Mixed-script documents (English citations in a Chinese paper, French quotes in an Arabic article) confuse most engines.
This post covers the multilingual OCR pipeline: which engines handle which scripts, how to handle mixed-script pages, and how to tune accuracy for your specific document quality.
For multilingual production: cloud APIs (Google Cloud Vision, Azure) produce the highest accuracy across scripts. Open-source options (Tesseract, EasyOCR, PaddleOCR) are good enough for many use cases at zero per-page cost.
Tesseract Configuration
Tesseract 5 ships language data files for 100+ languages. Install:
A page with English captions, Chinese body text, and Arabic notes is challenging. Strategies:
Strategy 1: Multi-language Tesseract
tesseract input.png output.pdf -l eng+chi_sim+ara pdf
Tesseract tries each language model; usually correct for clear sections, sometimes wrong at boundaries.
Strategy 2: Pre-segmentation
Use layout analysis tools (LayoutLM, PaddleStructure) to identify text regions. OCR each region with the appropriate language. Reassemble.
import layoutparser as lp
model = lp.Detectron2LayoutModel("lp://PubLayNet")
layout = model.detect(image)
for block in layout:
region_image = image.crop(block.coordinates)
# OCR each region with appropriate language
Strategy 3: Cloud API with language hints
Google Cloud Vision auto-detects language with high accuracy on mixed-script pages. Often the simplest answer.
Accuracy Tuning
OCR accuracy depends heavily on input quality. Improve with preprocessing:
For severely degraded scans (faded carbon copies, low-contrast handwriting on lined paper), even cloud APIs struggle. Manual transcription is sometimes the only reliable option.
Pro Tip: OCR accuracy improves with each higher resolution up to 300 DPI. Above that, accuracy plateaus. Below 300 DPI, characters get confused (lowercase l vs digit 1, lowercase o vs digit 0). Always scan at 300 DPI or higher.
Searchable PDF Output Formats
After OCR, the output PDF can have text layered in different ways:
Type 1: Text-only
OCR text replaces the original image. Useful for clean text recovery but loses the original visual layout.
Type 2: Image + invisible text overlay (preferred)
Original scan image is preserved. Invisible text layer added on top. Visually identical to original; searchable via Ctrl+F.
Type 3: Image + image-text overlay
Hybrid approach where extracted text is placed visibly alongside or over the image. Useful for accessibility tools that read the text aloud.
For most use cases: Type 2. Tesseract's pdf output mode produces this by default.
Searchable PDF Specifications
For accessibility compliance:
PDF/UA: PDF for Universal Accessibility, requires structured tags
PDF/A: archival format, preserves text and visual layout
PDF/X: print-oriented, color managed
For accessibility (PDF/UA), the OCR text layer must be properly tagged. Adobe Acrobat Pro produces tagged PDFs by default. Tesseract's output is text-layered but not tagged; additional tools like pdf-uaccess add tags.
For US/EU regulatory compliance, PDF/UA is increasingly required for public-facing documents.
File Size Considerations
Searchable PDFs are larger than image-only PDFs:
Source
Image-only size
Searchable PDF size
300 DPI 8.5×11 page
1.5 MB
~1.6 MB (text adds 5-10%)
300 DPI 8.5×11 with image compression
250 KB
280 KB
600 DPI 8.5×11 page
6 MB
6.2 MB
The text layer adds modest size. Compression of the image layer matters more for total size.
Tesseract has limited handwriting OCR support. For handwritten text:
Google Cloud Vision: better than Tesseract, mediocre on cursive
Microsoft Azure Form Recognizer: handles printed handwriting reasonably
AWS Textract: focused on form-like documents
Tesseract: ineffective on cursive, OK on neat printing
For most handwriting OCR work in 2026, cloud APIs are the only viable option. Even those struggle with cursive, abbreviations, and specialized notation (mathematical formulas, music notation, chemical structures).
For specialized handwriting (vintage manuscripts, doctor's notes), human transcription remains the only reliable answer.
Common Issues
Text shifted left from original: text layer alignment off. Tesseract sometimes mis-positions text relative to the image. Check with Adobe Acrobat's "Recognize Text" verification tool.
Diacritics missing or wrong: language model didn't include diacritics. Use the specific language file (e.g., fra not eng+fra for accented French).
Mixed orientation pages: scan has portrait and landscape pages. Tesseract auto-detects per-page orientation; some PDF tools don't. Re-orient before OCR.
OCR ran but file says "no text": your PDF reader is using the image not the text layer. Most readers can extract OCR text; verify in Adobe Acrobat.
Text accuracy drops on second pass: re-running OCR doesn't improve accuracy. Each pass starts fresh. Don't expect cumulative improvement.
Tesseract is single-threaded by default. For multi-page work, use parallel processing:
parallel tesseract {} {.}.pdf -l eng pdf ::: *.png
This processes files in parallel, scaling with CPU cores.
Can I OCR a PDF without converting to images first?
For text-PDFs (already searchable): no need, text is already there. For scanned PDFs (image-based): yes via Tesseract's --oem modes. Most production workflows split to images first because of cleaner control.
How do I OCR a multi-page PDF?
# Split PDF to images
pdftoppm input.pdf page -png -r 300
# OCR each page
for img in page-*.png; do
tesseract "$img" "${img%.png}" -l eng pdf
done
# Combine PDFs
pdftk page-*.pdf cat output combined.pdf
Or use our PDF OCR tool which handles the pipeline automatically.
What's the accuracy of OCR on receipts?
Variable. Clean printed receipts: 95%+. Crumpled or low-contrast receipts: 60-80%. Specialized OCR products (Receipt Bank, Expensify) tune for receipts and produce higher accuracy than general OCR.
Can OCR extract tables?
Yes, but with caveats. Tesseract's TSV output mode produces table-structured data. PaddleStructure and LayoutLMv3 are more specialized for table OCR with reasonable accuracy.
Does OCR work on screenshots?
Yes, often better than scans. Screenshots have clean rendering, no skew, no noise. Most OCR tools achieve 99%+ accuracy on application UI screenshots.
For multilingual OCR: Tesseract 5 with the right language files for most cases, Google Cloud Vision or Azure for mixed-script and high-accuracy work. Pre-process scans to 300 DPI, deskew, and binarize before OCR. Use Type 2 (image + invisible text overlay) for searchable output. Our PDF OCR tool and PDF converter handle the pipeline if you want to skip the manual setup.
OCRPDFsearchable PDFmultilingualTesseract
About the Author
Emma Wilson
Digital media specialist with expertise in audio engineering, podcast production, and ebook publishing workflows.