{"full_name":"ocrmypdf/OCRmyPDF","owner":"ocrmypdf","name":"OCRmyPDF","url":"https://github.com/ocrmypdf/OCRmyPDF","description":"OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched","homepage":"http://ocrmypdf.readthedocs.io/","topics":[],"language":"Python","license":"MPL-2.0","avatar":"https://avatars.githubusercontent.com/u/96028099?v=4","created_at":"2013-12-20T08:26:28Z","pushed_at":"2026-11-09T21:41:04Z","metrics":{"stars":35284,"forks":2450,"watchers":188,"issues":1388,"prs":298,"releases":67,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":87},"growth":{"day":{"stars":11,"forks":1,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[35273,35284],"forks":[2449,2450],"watchers":[188,188],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":446,"title":"Pdf error with tables","comments":21,"created_at":"2019-11-02T00:21:05Z"},{"number":715,"title":"extra space in the result pdf when the input pdf is in Chinese","comments":20,"created_at":"2021-01-15T04:23:08Z"},{"number":12,"title":"Option to remove blank pages","comments":19,"created_at":"2015-09-14T01:15:49Z"},{"number":139,"title":"Just saying thanks!!!","comments":17,"created_at":"2017-03-03T01:17:21Z"},{"number":324,"title":"--rotate-pages is being done but its results are ignored when --skip-text is enabled ","comments":16,"created_at":"2018-12-13T14:39:12Z"},{"number":1086,"title":"Only generate text files without generating PDF files","comments":12,"created_at":"2023-03-25T16:52:04Z"},{"number":1584,"title":"[Feature]: and support PaddlePaddle OCR in the backend","comments":10,"created_at":"2025-10-18T03:18:21Z"},{"number":1015,"title":"Inverted black and white from optimization","comments":9,"created_at":"2022-09-18T14:52:18Z"}],"discussions":[{"number":1784,"title":"A Hebrew traineddata for `ocrmypdf -l heb_rivok` (Hebrew + English + digits)","comments":1,"category":"Show and tell","created_at":"2026-11-07T20:00:23Z"},{"number":1777,"title":"Proposal: a workbench for reviewing disagreements between OCR backends","comments":3,"category":"Ideas","created_at":"2026-10-29T15:15:57Z"},{"number":1770,"title":"Adding \"Indra\" OCR as an alternative to Tesseract OCR","comments":0,"category":"Ideas","created_at":"2026-10-16T18:21:10Z"},{"number":1767,"title":"Tuning OCR for two-page spreads and multiple columns","comments":2,"category":"Q&A","created_at":"2026-10-14T13:48:23Z"},{"number":1754,"title":"REST API endpoints","comments":1,"category":"Ideas","created_at":"2026-09-23T09:11:02Z"},{"number":1734,"title":"Bounding Box margin for text","comments":1,"category":"General","created_at":"2026-08-20T16:21:38Z"},{"number":1717,"title":"What is the current release?","comments":0,"category":"General","created_at":"2026-07-17T15:37:45Z"},{"number":1678,"title":"Batch processing for auto page orientation (on windows 10 using anaconda prompt)","comments":0,"category":"Q&A","created_at":"2026-05-11T10:36:23Z"}],"latest_release":{"name":"v17.14.0","tag":"v17.14.0","published_at":"2026-11-08T21:00:59Z","body":"**New features**\n\n- New optional OCR engine, RapidOCR, which runs PaddleOCR's PP-OCR models on\n  ONNX Runtime. Install it with `uv tool install 'ocrmypdf[rapidocr]'` (or\n  `uv pip install` / `pip install` with the same extra) and select it with\n  `--ocr-engine rapidocr`. It often reads numbers and table cells more\n  accurately than Tesseract, at a higher CPU and memory cost. It supports\n  `--rotate-pages` and `--deskew` without Tesseract, and the new option\n  `--rapidocr-max-side-len` (API: `rapidocr_max_side_len=`) controls how far\n  large pages are downscaled. See the cookbook for languages and limitations.\n- With RapidOCR, `--rotate-pages` uses PaddlePaddle's PP-LCNet_x1_0_doc_ori\n  page orientation model (6.8 MB, Apache-2.0), downloaded on first use and\n  checked against its checksum, together with the shape of the detected text\n  lines. A page is turned only when both agree.\n- `python -m ocrmypdf.builtin_plugins.rapidocr_ocr download [LANGUAGE...]`\n  downloads RapidOCR's page orientation model and any additional language\n  models in advance, for offline use or container images.\n- The Docker images do not include RapidOCR, to keep them small.\n  `.docker/Dockerfile.rapidocr` builds an image with RapidOCR, its page\n  orientation model and any additional languages on top of the Ubuntu image.\n\n**Fixes**\n\n- Selecting an OCR engine other than Tesseract, including `--ocr-engine\n  none`, no longer requires Tesseract to be installed.\n- Fixed `--redo-ocr` and `--mode strip` removing visible text from a text\n  object that also contains invisible text, such as when the text rendering\n  mode changes to invisible partway through it. Only the invisible text is\n  now removed, and font and spacing settings made where it is removed are\n  kept for the text that follows. {issue}`1769`\n- Fixed the fpdf2 renderer writing the text of a line that rises to the right\n  too large, by up to the height of its rise, which also made the text of\n  neighbouring lines overlap. A sloped line's box spans its rise as well as\n  its text; the text size is now measured at the end of the line where the\n  baseline is highest, as it already was for lines that fall to the right."},"readme":true,"readme_zh":true,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}