{"id":22700636,"url":"https://github.com/jkamlah/tesseractxplore","last_synced_at":"2025-10-17T18:21:14.259Z","repository":{"id":54535376,"uuid":"314502740","full_name":"JKamlah/tesseractXplore","owner":"JKamlah","description":"tesseractXplore a tesseract ease of use gui with full control","archived":false,"fork":false,"pushed_at":"2021-11-10T15:00:31.000Z","size":6397,"stargazers_count":22,"open_issues_count":7,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T06:14:28.992Z","etag":null,"topics":["gui","gui-application","ocr","os-independent","tesseract"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JKamlah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-20T09:13:52.000Z","updated_at":"2025-01-29T11:40:29.000Z","dependencies_parsed_at":"2022-08-13T19:00:45.600Z","dependency_job_id":null,"html_url":"https://github.com/JKamlah/tesseractXplore","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JKamlah%2FtesseractXplore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JKamlah%2FtesseractXplore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JKamlah%2FtesseractXplore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JKamlah%2FtesseractXplore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JKamlah","download_url":"https://codeload.github.com/JKamlah/tesseractXplore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670435,"owners_count":21142904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","gui-application","ocr","os-independent","tesseract"],"created_at":"2024-12-10T06:16:26.946Z","updated_at":"2025-10-17T18:21:09.229Z","avatar_url":"https://github.com/JKamlah.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](assets/TX_logo.png)\n\n# TesseractXplore\n[![Build Status](https://travis-ci.org/JKamlah/tesseractXplore.svg?branch=dev)](https://travis-ci.org/JKamlah/tesseractXplore)\n[![GitHub issues](https://img.shields.io/github/issues/JKamlah/tesseractXplore)](https://github.com/JKamlah/tesseractXplore/issues)\n\nThis tool provides a graphical interface to [tesseract](https://github.com/tesseract-ocr/tesseract). \nImages can be loaded via a file chooser window or drag-and-drop. The result fulltext-files can also be edited.\n\n# Contents\n\n* [Use Cases](#use-cases)\n* [Development Status](#development-status)\n* [Python Package](#python-package)\n* [GUI](#gui)\n    * [Usage](#gui-usage)\n    * [Image Selection and OCR](#image-selection-and-ocr)\n    * [Model Search](#model-search)\n    * [Settings](#settings)\n    * [Keyboard Shortcuts](#keyboard-shortcuts)\n* [See Also](#see-also)\n\n## Use Cases\nThe purpose of this project is to provide a gui application for tesseract with\nsome extras.\n\n```\nApplication features\n    ┣━ Do OCR (single or batchwise)\n    ┣━ Save/Load tesseract settings\n    ┣━ Open PDFs with external applications (Webbrowser,..) \n    ┣━ Convert PDF to images \n    ┣━ Edit images (Rotation, Coloradjustements,..)\n    ┣━ Evaluate output (Character occurencies)\n    ┣━ Compare results with different settings\n    ┣━ Edit fulltext outputs (Text, ALTO, hOCR, TSV)\n    ┗━ Ease-to-Use online search engine for new models\n```\n\n\n### Tesseract\n[Tesseract](https://github.com/tesseract-ocr/tesseract) is a commandline based OCR engine. \nTesseract has unicode (UTF-8) support, and can recognize more than 100 languages \"out of the box\".\n\nThere are several [3rdParty](https://tesseract-ocr.github.io/tessdoc/User-Projects-%E2%80%93-3rdParty.html) projects\nto provide a gui for Tesseract, but they all lack in some way.\n\n### Images \nAny image readable by Leptonica is supported in Tesseract including BMP, PNM, PNG, JFIF, JPEG, and TIFF. GIF and PDF is\nnot supported, but PDF can be converted to readable imageformats.\n\n### Models \nThe official models are divided into three types [tessdata_best](https://github.com/tesseract-ocr/tessdata_best), \n[tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast) and [tessdata](https://github.com/tesseract-ocr/tessdata).\n\nThe models can be furthermore categorized into language (e.g. german) and script \n(e.g. latin) models. While script models are trained for a whole writing systems and the integrated dictionary is really broad, \nthe language models are trained with a subset of a writing system and contains a language specific dictionary.\n\nThe models names are abbrevations as [deu](https://github.com/tesseract-ocr/tessdata_fast/raw/master/deu.traineddata) for the \nstandard german (**deu**tsch) language model and further information to the models are hard to find.\nThe models need to be downloaded and installed to the tessdatapath.\n\nThats why, the application provides an online model search engine with more metadata information for each\nmodel. Finding and installing new models are now easy and straight forward.\n\n\n### Fulltext-fileformat \nTesseract supports various output formats: plain text, hOCR (HTML), PDF, invisible-text-only PDF, TSV. \nThe master branch also has experimental support for ALTO (XML) output.\n\nThe application allows to edit plain text, hOCR, ALTO and TSV and store the result for further use.\n\n# Development Status\nSee [Issues](https://github.com/JKamlah/tesseract-xplore/issues?q=) for planned features and\ncurrent progress.\n\nThis is project is currently in an early development stage and not very polished. All the\nfeatures described below are functional, however.\n\n# Python Package\nSee the wiki for details on the python package.\n\n# Installation\n\nIt is recommended to use a virtual environment.\n\n## Linux/MacOS\n\n```\npython3 -m venv venv\nsource venv/bin/activate\nsudo apt-get install python3-sdl2\npip install --upgrade pip\npip install .[app]\n```\n\nIf you use zsh-commandline you need to escape brackets with backslash!\n\n## Win (cmd.exe)\n\nFor windows please use the current [installer](https://github.com/JKamlah/tesseractXplore/releases/latest/download/TesseractXploreSetup.exe). (recommended)\n\nAlternative: Build it from source\n```\npython3 -m venv venv\nvenv\\Scripts\\activate.bat\npip install --upgrade pip\npip install .[all-win]\n```\n\nDon't install kivy-gstreamer on Windows!\n\n\u003c!---\nOS-specific builds will be coming soon, but for now running it requires a local python development\nenvironment. To install:\n```\npip install tesseractXplore\n```\nSome additional dependencies are required on Windows:\n```\npip install tesseractXplore[win]\n```\n--\u003e\n\n## Installation of an alternative text renderer (optional)\n\nThe standard text renderer can't display combined glyphs correctly, \nto do that an alternative text renderer needs to be used e.g. pango2:\n\n1. Install pangoft2 (`apt install libfreetype6-dev libpango1.0-dev\n   libpangoft2-1.0-0`) or ensure it is available in pkg-config\n2. Recompile kivy. Check that pangoft2 is found `use_pangoft2 = 1`\n3. Test it! Enforce the text core renderer to pango using environment variable:\n   `export KIVY_TEXT=pango`\n\n#  GUI\n\n##  GUI Usage\nStart the GUI:\n```\ntesseractXplore\n```\n### Image Selection and OCR \nThe basic UI components are shown below:\n![Screenshot](assets/screenshots/tesseractXplore.png)\n\n1. Drag \u0026 drop images or folders into the window.\n2. Or, select files via the file browser on the right\n3. Enter tesseract settings \n4. Click the 'Run' button in the lower-left to recognize the selected images\n\nOther things to do:\n* **Middle-click** an image to remove it\n* **Right-click** an image for a menu of more actions\n![Screenshot](assets/screenshots/image_context_menu.png)\n\n### Save, load and reset tesseract settings\n![Screenshot](assets/screenshots/tesseract_settings_context_menu.png)\n\nSometimes it can be handy to have settings profiles like for historical documents with just one column.\nThe application allows to save settings into a profile with an individual name.\nTo reset the settings to default or to search and load user stored profiles.\n![Screenshot](assets/screenshots/loading_tesseract_settings.png)\n\n\n### Model Search\nIf you don't have a suitable model, click the 'Find a new model' button to go to the model\nsearch screen. You can start with searching by name, with autocompletion support:\n\n![Screenshot](assets/screenshots/tesseract_model_search_auto.png)\n\nYou can also run a full search using the additional filters. For example, with group attributes (tessdata,..), \ntags (medival) or select the model type (Fast/Best) or category (Language/Script):\n\n![Screenshot](assets/screenshots/tesseract_model_search_filter.png)\n\nOn the right side of the window is an information page with download option.\n\n![Screenshot](assets/screenshots/tesseract_model_search.png)\n\n### Settings\nThere are also some settings to customize the application and global parameters.\nAnd yes, there is a dark mode, because why not.\n\n### Keyboard Shortcuts\nSome keyboard shortcuts are included for convenience:\n\nKey(s)          | Action                    | Screen\n----            |----                       |----------\nF1              | Switch to kivy settings   | All\nF2              | Switch to app settings    | All\nF5              | Switch to home screen     | All\nF6              | Switch to model selection | All\nF7              | Switch to model search    | All\nF9              | Toggle online/offline     | All\nF10             | Toggle borderless         | All\nF11             | Toggle fullscreen         | All\nF11             | Toggle dark/light mode    | All\nCtrl+S          | Save settings             | All\nCtrl+Q          | Quit                      | All\nCtrl+R          | Reset tesseract settings  | Image selection\nCtrl+O          | Open selected image folder| Image selection\nCtrl+'+'        | Zoom in                   | Image selection\nCtrl+'-'        | Zoom out                  | Image selection\nCtrl+Enter      | Run model search          | Model search\nCtrl+Enter      | Run image tagger          | Image selection\nShift+Ctrl+X    | Clear selected images     | Image selection\nShift+Ctrl+X    | Clear search filters      | Model search\n\n\n## Contributors\n\n### Code Contributors\n\n- Jan Kamlah [@JKamlah](https://github.com/JKamlah) - Core developer\n- Jordan Cook [@JWCook](https://github.com/JWCook ) - Creator of [naturtag](https://github.com/JWCook/naturtag)\n\n### Contributors/Tester\n\nThis project exists thanks to all the people who contribute.\nThanks for all the testing and feeback.\n\n- Philipp Zumstein [@zuphilip](https://github.com/zuphilip)\n- Stefan Weil [@stweil](https://github.com/stweil)\n- Benjamin Rosemann [@b2m](https://github.com/b2m)\n\n\n# See Also\n*  This project is based on [naturtag](https://github.com/JWCook/naturtag).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkamlah%2Ftesseractxplore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkamlah%2Ftesseractxplore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkamlah%2Ftesseractxplore/lists"}