.coveragerc
.dockerignore
.git_archival.txt
.gitattributes
.gitignore
.pre-commit-config.yaml
.readthedocs.yml
LICENSE
MANIFEST.in
README.md
pyproject.toml
setup.cfg
setup.py
.docker/Dockerfile
.docker/alpine.dockerfile
.docker/docker-wrapper.sh
.docker/polyglot.dockerfile
.docker/webservice.dockerfile
.docker/webservice.py
debian/copyright
docs/advanced.rst
docs/batch.rst
docs/conf.py
docs/cookbook.rst
docs/docker.rst
docs/errors.rst
docs/index.rst
docs/installation.rst
docs/introduction.rst
docs/jbig2.rst
docs/languages.rst
docs/pipeline.svg
docs/release_notes.rst
docs/security.rst
docs/images/bitmap_vs_svg.svg
docs/images/macos-workflow.png
misc/completions.fish
requirements/dev.txt
requirements/main.txt
requirements/test.txt
src/ocrmypdf/__init__.py
src/ocrmypdf/__main__.py
src/ocrmypdf/_jobcontext.py
src/ocrmypdf/_pipeline.py
src/ocrmypdf/_unicodefun.py
src/ocrmypdf/_weave.py
src/ocrmypdf/exceptions.py
src/ocrmypdf/helpers.py
src/ocrmypdf/hocrtransform.py
src/ocrmypdf/leptonica.py
src/ocrmypdf/optimize.py
src/ocrmypdf/pdfa.py
src/ocrmypdf.egg-info/PKG-INFO
src/ocrmypdf.egg-info/SOURCES.txt
src/ocrmypdf.egg-info/dependency_links.txt
src/ocrmypdf.egg-info/entry_points.txt
src/ocrmypdf.egg-info/not-zip-safe
src/ocrmypdf.egg-info/requires.txt
src/ocrmypdf.egg-info/top_level.txt
src/ocrmypdf/data/sRGB.icc
src/ocrmypdf/exec/__init__.py
src/ocrmypdf/exec/ghostscript.py
src/ocrmypdf/exec/jbig2enc.py
src/ocrmypdf/exec/pngquant.py
src/ocrmypdf/exec/qpdf.py
src/ocrmypdf/exec/tesseract.py
src/ocrmypdf/exec/unpaper.py
src/ocrmypdf/lib/__init__.py
src/ocrmypdf/lib/compile_leptonica.py
src/ocrmypdf/pdfinfo/__init__.py
src/ocrmypdf/pdfinfo/ghosttext.py
src/ocrmypdf/pdfinfo/layout.py
tests/conftest.py
tests/test_hocrtransform.py
tests/test_lept.py
tests/test_main.py
tests/test_metadata.py
tests/test_multiprocessing.py
tests/test_optimize.py
tests/test_pdfinfo.py
tests/test_qpdf.py
tests/test_rotation.py
tests/test_tess4.py
tests/test_unpaper.py
tests/test_userunit.py
tests/test_weave.py
tests/cache/manifest.jsonl
tests/cache/2400dpi/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/2400dpi/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/2400dpi/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/2400dpi/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/aspect/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002.text__pdf__txt/pdf.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002.text__pdf__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002.text__pdf__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002.text__pdf__txt/txt.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002__hocr__txt/hocr.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002__hocr__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002__hocr__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000002.ocr.png__000002__hocr__txt/txt.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003.text__pdf__txt/pdf.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003.text__pdf__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003.text__pdf__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003.text__pdf__txt/txt.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003__hocr__txt/hocr.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003__hocr__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003__hocr__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000003.ocr.png__000003__hocr__txt/txt.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004.text__pdf__txt/pdf.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004.text__pdf__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004.text__pdf__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004.text__pdf__txt/txt.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004__hocr__txt/hocr.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004__hocr__txt/stderr.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004__hocr__txt/stdout.bin
tests/cache/cardinal/__-l__eng__000004.ocr.png__000004__hocr__txt/txt.bin
tests/cache/cardinal/__-l__osd__--psm__0__000001.ocr.preview.jpg__stdout/stderr.bin
tests/cache/cardinal/__-l__osd__--psm__0__000001.ocr.preview.jpg__stdout/stdout.bin
tests/cache/cardinal/__-l__osd__--psm__0__000002.ocr.preview.jpg__stdout/stderr.bin
tests/cache/cardinal/__-l__osd__--psm__0__000002.ocr.preview.jpg__stdout/stdout.bin
tests/cache/cardinal/__-l__osd__--psm__0__000003.ocr.preview.jpg__stdout/stderr.bin
tests/cache/cardinal/__-l__osd__--psm__0__000003.ocr.preview.jpg__stdout/stdout.bin
tests/cache/cardinal/__-l__osd__--psm__0__000004.ocr.preview.jpg__stdout/stderr.bin
tests/cache/cardinal/__-l__osd__--psm__0__000004.ocr.preview.jpg__stdout/stdout.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/ccitt/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/cmyk/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/francais/__-l__deu__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/francais/__-l__deu__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/francais/__-l__deu__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/francais/__-l__deu__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/francais/__-l__fra__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/francais/__-l__fra__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/francais/__-l__fra__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/francais/__-l__fra__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/graph_ocred/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/graph_ocred/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/graph_ocred/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/graph_ocred/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/jbig2/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/lichtenstein/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/multipage/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/multipage/__-l__eng__000002.ocr.png__000002.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000002.ocr.png__000002.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000002.ocr.png__000002.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000002.ocr.png__000002.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003__hocr__txt/hocr.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003__hocr__txt/stderr.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003__hocr__txt/stdout.bin
tests/cache/multipage/__-l__eng__000003.ocr.png__000003__hocr__txt/txt.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004__hocr__txt/hocr.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004__hocr__txt/stderr.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004__hocr__txt/stdout.bin
tests/cache/multipage/__-l__eng__000004.ocr.png__000004__hocr__txt/txt.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005__hocr__txt/hocr.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005__hocr__txt/stderr.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005__hocr__txt/stdout.bin
tests/cache/multipage/__-l__eng__000005.ocr.png__000005__hocr__txt/txt.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006.text__pdf__txt/pdf.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006.text__pdf__txt/stderr.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006.text__pdf__txt/stdout.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006.text__pdf__txt/txt.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006__hocr__txt/hocr.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006__hocr__txt/stderr.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006__hocr__txt/stdout.bin
tests/cache/multipage/__-l__eng__000006.ocr.png__000006__hocr__txt/txt.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/palette/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/poster/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/poster/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/poster/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/poster/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/poster/__-l__osd__--psm__0__000001.ocr.preview.jpg__stdout/stderr.bin
tests/cache/poster/__-l__osd__--psm__0__000001.ocr.preview.jpg__stdout/stdout.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/skew/__-l__eng__--psm__7__000001.ocr.png__000001__hocr__txt/txt.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001.text__pdf__txt/pdf.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stderr.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001.text__pdf__txt/stdout.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001.text__pdf__txt/txt.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001__hocr__txt/hocr.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001__hocr__txt/stderr.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001__hocr__txt/stdout.bin
tests/cache/skew/__-l__eng__000001.ocr.png__000001__hocr__txt/txt.bin
tests/resources/2400dpi.pdf
tests/resources/README.rst
tests/resources/aspect.pdf
tests/resources/baiona.png
tests/resources/baiona_alpha.png
tests/resources/baiona_colormapped.png
tests/resources/baiona_gray.png
tests/resources/blank.pdf
tests/resources/c02-22.pdf
tests/resources/cardinal.pdf
tests/resources/ccitt.pdf
tests/resources/cmyk.pdf
tests/resources/congress.jpg
tests/resources/crom.png
tests/resources/encrypted_algo4.pdf
tests/resources/enormous.pdf
tests/resources/enron1.pdf
tests/resources/epson.pdf
tests/resources/formxobject.pdf
tests/resources/francais.pdf
tests/resources/graph.pdf
tests/resources/graph_ocred.pdf
tests/resources/hugemono.pdf
tests/resources/invalid.pdf
tests/resources/jbig2.pdf
tests/resources/kcs.pdf
tests/resources/lichtenstein.pdf
tests/resources/linn.pdf
tests/resources/linn.png
tests/resources/linn.txt
tests/resources/livecycle.pdf
tests/resources/masks.pdf
tests/resources/missing_docinfo.pdf
tests/resources/multipage.pdf
tests/resources/negzero.pdf
tests/resources/no_contents.pdf
tests/resources/overlay.pdf
tests/resources/palette.pdf
tests/resources/poster.pdf
tests/resources/rotated_skew.pdf
tests/resources/skew-encrypted.pdf
tests/resources/skew.pdf
tests/resources/toc.pdf
tests/resources/trivial.pdf
tests/resources/truetype_font_nomapping.pdf
tests/resources/type3_font_nomapping.pdf
tests/resources/typewriter.png
tests/resources/vector.pdf
tests/spoof/gs_feature_elision.py
tests/spoof/gs_pdfa_failure.py
tests/spoof/gs_raster_failure.py
tests/spoof/gs_render_failure.py
tests/spoof/tesseract_badutf8.py
tests/spoof/tesseract_big_image_error.py
tests/spoof/tesseract_cache.py
tests/spoof/tesseract_crash.py
tests/spoof/tesseract_noop.py
tests/spoof/unpaper_oldversion.py