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
Built Distribution
File details
Details for the file apple_vision_utils-0.1.5.tar.gz
.
File metadata
- Download URL: apple_vision_utils-0.1.5.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1d25860efe88e1112102e1cc0e1ad65b66faa7abf5290fb336c2121bab06642 |
|
MD5 | 9de4dc94ea78886cc5f3e374db3862f1 |
|
BLAKE2b-256 | f666a773aecf60d637ccc2f045fe8c85e26f431772e92f84d762867c663b6317 |
File details
Details for the file apple_vision_utils-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: apple_vision_utils-0.1.5-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.3 Darwin/23.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6168c0b44ef55d3c5a93b455503362d5b7a22485deb08d3642a76033e6eb7cfc |
|
MD5 | a32618be57c9165959d914752d99f7ad |
|
BLAKE2b-256 | 1ea84ae352c50a804d9ee5dbc9c2d8be32130a4130bbbe6f198a049b7fa26644 |