Skip to main content

OCRmyPDF plugin using Google Lens API for OCR

Project description

OCRmyPDF-ChromeLens-Ocr

A plugin for OCRmyPDF that uses the Google Lens API to perform Optical Character Recognition (OCR).

Features

  • High Accuracy: Leverages Google's advanced Lens models.
  • Structure Preservation: Correctly handles multi-column layouts and vertical text flows via strict API parsing and rotation-aware sorting.
  • Smart De-hyphenation: Merges words broken across lines while respecting punctuation dashes.

⚠️ Compatibility Warning

This plugin is not currently compatible with OCRmyPDF v17 or higher.

OCRmyPDF v17 introduced breaking changes to the plugin interface (migrating from argparse.Namespace to OcrOptions objects). Please use an older version of OCRmyPDF (v16.x or lower) until this plugin is updated.

To install a compatible version:

pip install "ocrmypdf<17"

Installation

Prerequisites

You must have ocrmypdf installed.

Install from Git

pip install git+https://github.com/atlantos/OCRmyPDF-ChromeLens-Ocr.git

Install from Pip

pip install ocrmypdf-chromelens-ocr

Usage

To use this engine, pass the plugin name to OCRmyPDF. You generally do not need to specify a language, as Google Lens auto-detects it.

ocrmypdf --plugin ocrmypdf_chromelens_ocr input.pdf output.pdf

Configuration Options

You can configure the behavior of the plugin using the following command-line arguments:

Argument Description Default
--chromelens-no-dehyphenation Disables the logic that merges hyphenated words across lines. Useful if you prefer raw output. Disabled
--chromelens-max-dehyphen-len The maximum length of word parts allowed for de-hyphenation. If both the prefix (before hyphen) and suffix (after hyphen) are longer than this value, the plugin assumes it is a compound word or dash separator and will not merge them. 10

Example: Disable de-hyphenation

ocrmypdf --plugin ocrmypdf_chromelens_ocr --chromelens-no-dehyphenation input.pdf output.pdf

Example: Stricter de-hyphenation (only merge very short breaks)

ocrmypdf --plugin ocrmypdf_chromelens_ocr --chromelens-max-dehyphen-len 4 input.pdf output.pdf

Credits & Acknowledgements

This project is a Python port and adaptation based on ideas and logic from:

  1. chrome-lens-ocr:

    • Provided the critical reverse-engineering of the Google Lens Protobuf API (v1/crupload).
    • Logic for strict layout parsing and request structure.
  2. OCRmyPDF-AppleOCR:

    • Provided the architectural inspiration for creating an OCRmyPDF plugin that offloads recognition to an external engine.

Disclaimer

This software is for educational purposes. It uses an undocumented private API from Google.

  • Privacy: Your images are uploaded to Google servers. Do not process sensitive/confidential data.
  • Stability: The API may change or break at any time without notice.
  • Rate Limits: Excessive use may result in your IP being temporarily blocked by Google.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ocrmypdf_chromelens_ocr-1.0.3.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ocrmypdf_chromelens_ocr-1.0.3-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file ocrmypdf_chromelens_ocr-1.0.3.tar.gz.

File metadata

  • Download URL: ocrmypdf_chromelens_ocr-1.0.3.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ocrmypdf_chromelens_ocr-1.0.3.tar.gz
Algorithm Hash digest
SHA256 137ae812afe4127c91a8a06b7b215a703f6033c651d1e1565af941bd396f2ce2
MD5 838fcaf17962724d0d03c32d3d84408f
BLAKE2b-256 dd7c19d2bfd7c7f67c5da67f104f8a6fbeebaf383e9b0c05e3bf27a636517481

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrmypdf_chromelens_ocr-1.0.3.tar.gz:

Publisher: release.yml on atlantos/OCRmyPDF-ChromeLens-Ocr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ocrmypdf_chromelens_ocr-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ocrmypdf_chromelens_ocr-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 06f834b8dc248c70f9c5b65b2654bf870cf7231f15c47e2644a5efc401a0b4a1
MD5 12ef602e76ce4bfbc7dc6b759412a4c8
BLAKE2b-256 f44369c3c15a98b8a7d38d04f57a3c369e686b905b25bf526e106540d4d199b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrmypdf_chromelens_ocr-1.0.3-py3-none-any.whl:

Publisher: release.yml on atlantos/OCRmyPDF-ChromeLens-Ocr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page