Skip to main content

Fast and accurate OCR on images and PDFs using Apple Vision framework directly from command line.

Project description

Apple Vision Framework Python Utilities

Fast and accurate OCR on images and PDFs using Apple Vision framework (pyobjc-framework-Vision) directly from command line.

Features

  • Fast and accurate, multi-language support (-l, --lang), powered by Apple's industry-strength Vision framework (pyobjc-framework-Vision).
  • Supports all common input image formats: PNG, JPEG, TIFF and WebP.
  • Supports PDF input (the file gets converted to images first). This tool does NOT assume a file is PDF just because it has a .pdf extension, you need to pass -p, --pdf flag.
  • Outputs extracted text only by default, but can output in JSON format containing confidence of recognition for each line with -j, --json flag.

Demo

Below is the output of running the tests:

https://g.teddysc.me/96d5b1217b90035c163b3c97ce99112f

Installation

Requires Python >= 3.11, <4.0.

Since this package uses Apple's Vision framework, it only works on macOS.

To OCR PDFs with -p, you need to install required dependency poppler with brew install poppler (detailed guide).

pipx

This is the recommended installation method.

$ pipx install apple-vision-utils

pip

$ pip install apple-vision-utils

Usage

$ apple-ocr --help

usage: apple-ocr [-h] [-j] [-p] [-l LANG] [--pdf2image-only]
                 [--pdf2image-dir PDF2IMAGE_DIR] [-V]
                 file_path

Extract text from an image or PDF using Apple's Vision framework.

positional arguments:
  file_path             Path to the image or PDF file.

options:
  -h, --help            show this help message and exit
  -j, --json            Output results in JSON format.
  -p, --pdf             Specify if the input file is a PDF.
  -l LANG, --lang LANG  Specify the language for text recognition (e.g., eng,
                        fra, deu, zh-Hans for Simplified Chinese, zh-Hant for
                        Traditional Chinese). Default is 'zh-Hant', which
                        works with images containing both Chinese characters
                        and latin letters.
  --pdf2image-only      Only convert PDF to images without performing OCR.
  --pdf2image-dir PDF2IMAGE_DIR
                        Specify the directory to store output images. By
                        default, a secure temporary directory is created.
  -V, --version         show program's version number and exit

Develop

$ git clone https://github.com/tddschn/apple-vision-utils.git
$ cd apple-vision-utils
$ poetry install

Test

# in the root of the project
poetry install
poetry shell
cd tests && ./test.sh

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

apple_vision_utils-0.1.6.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

apple_vision_utils-0.1.6-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file apple_vision_utils-0.1.6.tar.gz.

File metadata

  • Download URL: apple_vision_utils-0.1.6.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for apple_vision_utils-0.1.6.tar.gz
Algorithm Hash digest
SHA256 836c20f52f32a93b74d33298f47ca06f50dc43814a5f978ce24d3ad32e335d38
MD5 8c3bad47a3ed3a2f970bdb2678b85f1a
BLAKE2b-256 e1f164558aebfdbff53932be8557ea0afb4b454d2c0a8f7bed809313c866b4db

See more details on using hashes here.

File details

Details for the file apple_vision_utils-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for apple_vision_utils-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 45d57f9b4525657be16be70e3feb63bed7c9ee31bf2b2a7149bd90caa2de3c74
MD5 f9ea7e66d6ef2897f2d026abab912cc1
BLAKE2b-256 2cd59d22157e0590330aa43a45a5c2496fa59c582b1775c69aed16c80c1aa5b3

See more details on using hashes here.

Supported by

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