Skip to main content

Overview

ocrodjvu is a wrapper for OCR systems that allows you to perform OCR on DjVu files.

Example

$ wget -q 'https://sources.debian.org/data/main/o/ocropus/0.3.1-3/data/pages/alice_1.png'
$ gm convert -threshold 50% 'alice_1.png' 'alice.pbm'
$ cjb2 'alice.pbm' 'alice.djvu'
$ ocrodjvu --in-place 'alice.djvu'
Processing 'alice.djvu':
- Page #1
$ djvused -e print-txt 'alice.djvu'
(page 0 0 2488 3507
 (column 470 2922 1383 2978
  (para 470 2922 1383 2978
   (line 470 2922 1383 2978
    (word 470 2927 499 2976 "1")
    (word 588 2926 787 2978 "Down")
    (word 817 2925 927 2977 "the")
    (word 959 2922 1383 2976 "Rabbit-Hole"))))
 (column 451 707 2076 2856
  (para 463 2626 2076 2856
   (line 465 2803 2073 2856
    (word 465 2819 569 2856 "Alice")
    (word 592 2819 667 2841 "was")
    (word 690 2808 896 2854 "beginning")
⋮

Requisites

The following software is required to run ocrodjvu:

Additionally, some optional features require the following software:

  • PyICU ≥ 1.0.1 — required for the --word-segmentation=uax29 option

  • html5lib — required for the --html5 option

The following software is required to rebuild the manual pages from source:

Installation

The easiest way to install ocrodjvu is from PyPI:

pip install ocrodjvu

Alternatively, you can use ocrodjvu without installing it, straight out of an unpacked source tarball or a VCS checkout.

It’s also possible to install it from source for the current interpreter with:

pip install .

The man pages can be deployed using:

make install_manpage

By default, make install_manpage installs them to /usr/local/. You can specify a different installation prefix by setting the PREFIX variable, e.g.:

make install PREFIX="$HOME/.local"

About this fork

This repository is a port of the original repository to Python 3.

The process involved the 2to3 tool and manual fixes afterwards to get the existing tests to pass. While this port started from scratch to already include the latest upstream changes, the fork by @rmast which accumulated previous porting attempts provided some great help (see Issue #39 as well).

Due to the upstream repository having been archived (Issue #46), this fork will now be maintained on its own. Please note that I do not have any plans on implementing completely new features for now. Nevertheless, I am going to try to keep this fork working for at least the parts which I actually use on a regular basis.

Differences from upstream

  • Package requires Python ≥ 3.6.

  • Migrate from nose to plain unittest stdlib module.

  • Conform to PEP8 coding style.

  • Use standardized setup.py-based installation.

  • Rename lib to ocrodjvu and migrate ocrodjvu binary to __main__.py and console script version.

  • Drop support for ocropus/ocropy as only the rather old legacy versions ≤ 0.3.1 from 2008 have been supported.

Acknowledgment

ocrodjvu development was supported by the Polish Ministry of Science and Higher Education’s grant no. N N519 384036 (2009–2012, https://bitbucket.org/jsbien/ndt).

Release files for ocrodjvu 0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ocrodjvu 0.14
File Size Uploaded
ocrodjvu-0.14.tar.gz 53.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ocrodjvu 0.14
File Interpreter ABI Platform
ocrodjvu-0.14-py3-none-any.whl Python 3 none any Details

Total release size: 112.0 kB

Release files / ocrodjvu-0.14.tar.gz

Download URL ocrodjvu-0.14.tar.gz
Size 53.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f81d34e6f5f6f76456d83ce259c8b81cd657b9ca4ce7529e144a41be0c013847
BLAKE2b-256 checksum
How to use checksums
80aeed7eb357386c4678de0d1915f5364fff4de9b92d490ea22001de6e642337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 13, 2024.

Transparency log

Release files / ocrodjvu-0.14-py3-none-any.whl

Download URL ocrodjvu-0.14-py3-none-any.whl
Size 58.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
010652603b621e59ab927cf48ebef06ab6bb0e623a021ebeb09620b690f24645
BLAKE2b-256 checksum
How to use checksums
097a541f8f8ef1eadf587372beb3ccfe30b6b9229f39340de9cfa1891aa8671d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 13, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

0.14 This release

2 release files

0.13.2

2 release files

0.13.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page