# gImageReader: tesseract-ocr with a GTK or Qt GUI, scanner input and hOCR-to-PDF output

> gImageReader is a GPL-3.0 GUI front-end to tesseract-ocr that accepts PDF and image input from disk, scanners, clipboard and screenshots, produces hOCR or plain-text output, and reconstructs searchable PDFs from hOCR. It ships as 2 separate frontends: one for GTK and one for Qt.

**manisandro/gImageReader** — A Gtk/Qt front-end to tesseract-ocr.

- Repository: https://github.com/manisandro/gImageReader
- Stars: 2,009 · Forks: 221
- Language: C++
- License: GPL-3.0
- Published: 2026-10-11 · Updated: 2026-10-11 · Language: en
- Canonical page: https://hysenlabs.com/projects/manisandro-gimagereader

## gImageReader wraps tesseract-ocr and adds GUI machinery around it

OCR accuracy comes from tesseract, not from gImageReader. What the project contributes is the input handling, the display layer and the output pipeline that sit on top of the recognition engine.

4 input channels cover the typical desktop workflow. Disk files and connected scanners are the primary paths. The clipboard catches content pasted from a browser or another application, and screenshots handle anything on screen at the moment of capture. The application opens PDF and image files without requiring any format conversion beforehand.

Once content is loaded, recognition areas can be defined manually or set automatically by the application. After recognition, the result appears in an editing panel next to the source image. A spell checker runs in that panel before the text is saved, so corrections can be made while the original is still visible for comparison.

## 2 separate packages: gimagereader-gtk for GNOME and gimagereader-qt for KDE

gImageReader ships as 2 distinct packages rather than one application with a theme switch. On Arch Linux, the official extra repository lists gimagereader-gtk and gimagereader-qt as separate entries; the user installs the one that matches their desktop environment. The same split applies on other distributions.

The repository layout reflects this: the top-level entries include 3 key source directories, common/, gtk/ and qt/. Shared code lives in common/, while each frontend has its own tree. A CMakeLists.txt at the root coordinates the build for both.

Choosing the wrong frontend does not break OCR recognition, but it affects how the application integrates with the system's file dialogs and rendering. On a GNOME desktop the GTK build fits the surrounding toolkit; on Plasma the Qt build does. The README does not state whether both frontends can be built from a single source checkout; the compilation wiki at github.com/manisandro/gImageReader/wiki/Compiling-gImageReader covers that.

## 8 installation paths from Flathub to Windows and source archives

The README gives 8 installation entries. Flathub is the widest-reaching option: the application ID is io.github.manisandro.gImageReader. Fedora carries the package in the official repositories. Debian lists it at packages.debian.org. OpenSUSE hosts it on the OpenSUSE Build Service under home:sandromani.

For Ubuntu, the README points to the PPA at ppa:sandromani/gimagereader rather than the Ubuntu universe packages. For Arch Linux, both gimagereader-gtk and gimagereader-qt are in the extra repository. Source archives and Windows binaries share the project's GitHub download page.

v3.4.3 from 2025-08-04 is the current stable download, following v3.4.2 from 2024-02-05. The ci-latest tag on the project page is the nightly CI build, not a signed release.

Building from source requires the wiki at github.com/manisandro/gImageReader/wiki/Compiling-gImageReader, since the README does not reproduce those steps.

## The Debian entry links to the unstable suite, not stable or testing

One detail the README presents without comment: the Debian installation link points to packages.debian.org/unstable/main/gimagereader. The word 'unstable' in the path identifies Debian's unstable suite, also known as sid, which is the rolling development branch.

For a workstation already running Debian unstable, this is expected. For a system on Debian stable, apt would not find gimagereader in the default package pool without additional configuration. The README describes the package as being from 'the official repositories', accurate enough, but the text does not name the suite. The gap between what the URL shows and what the README text says is only visible when apt returns no results on a stable install.

Users on Debian stable should verify the current availability in their suite independently before treating it as a routine package installation.

## 2 output modes: plain text for transcription, hOCR for layout-preserving PDFs

gImageReader offers 2 output modes after recognition. Plain text discards spatial information and returns the recognised strings as a flat sequence. hOCR is an HTML-based format that encodes bounding boxes, font data and word confidence for each element, preserving the layout structure that plain text discards.

The hOCR-to-PDF step is where gImageReader adds specific value beyond calling tesseract directly: tesseract produces text or hOCR files but does not assemble them into a PDF. gImageReader closes that gap by accepting hOCR input and outputting a PDF with searchable text positioned according to the bounding-box data. The PDF generation settings are not documented in the README, and which PDF version the output targets is not stated.

For workflows where a flat text file is enough, the plain text path is simpler. When the goal is a searchable PDF that preserves the original page layout, the hOCR route is the only documented path within gImageReader.

## Queuing a batch of files and running a spell checker before export

For a multi-page scan that arrives as separate image files, all of them can be fed to the application at once rather than handled one by one. The README names this as a top-level capability without describing the queue management interface or how errors for individual files are surfaced.

Spellchecking is available after recognition. It operates on the text in the editing panel, which sits next to the source image, so errors can be caught while the original is still visible. The README does not name which spell-check dictionaries are bundled or how additional ones are installed.

These 2 features, batch input and post-recognition spell checking, are the main workflow additions that gImageReader provides compared to calling tesseract from a terminal, where both require extra scripting around tesseract's own output files.

## What the project does not provide for scripted workflows

gImageReader is a desktop GUI application. It has no library interface and no documented command-line mode for automation. Connecting OCR to a build process, a server or a web backend requires calling tesseract directly. gImageReader is the wrong layer for that purpose.

The README's support section points to 3 contact paths: the GitHub issue tracker, direct email at manisandro(at)gmail(dot)com, and a FAQ wiki page. Source compilation details are in the wiki rather than the README, so a first-time build requires reading 2 separate documents.

International UI translations are managed through Weblate, linked from the README. For users who need the interface in a language other than the default, the Weblate project page lists which languages have active translation contributions.

## Conclusion

gImageReader fits when you need a graphical interface to tesseract-ocr on Linux or Windows, want to pull documents from a physical scanner, and plan to use hOCR output to reconstruct PDFs. Skip it when you need programmatic OCR from application code; this is a GUI-only tool with no library or command-line interface. Debian users should check the packages.debian.org link in the README before running apt: the URL path contains 'unstable', placing the package in Debian's rolling development suite rather than stable. For Arch Linux, gimagereader-gtk and gimagereader-qt are in the extra repository and require an explicit choice between them.

## FAQ

### What is gImageReader?

gImageReader is a GPL-3.0 GUI front-end to tesseract-ocr that accepts PDF and image input from disk, scanners, clipboard and screenshots, and produces plain text or hOCR output. It can also generate PDFs from hOCR documents.

### How do I install gImageReader on Ubuntu?

The README points to the PPA at ppa:sandromani/gimagereader for Ubuntu. It gives no install command, only the PPA address.

### What is the difference between gimagereader-gtk and gimagereader-qt?

They are 2 separate frontend packages for the same application. On Arch Linux they appear as distinct entries in the extra repository. The GTK build integrates with GNOME-style desktops and the Qt build integrates with Qt-based environments such as Plasma.

### Does gImageReader support batch OCR of multiple files?

A multi-page scan arriving as individual image files can be processed as a group. The README does not describe the queue interface or how errors for individual files are reported.

### Does gImageReader support international languages?

The README lists international language support and links to a Weblate project for UI translations. The README does not describe which tesseract language data files must be installed for recognition in those languages.

## Sources

- [Issues](https://github.com/manisandro/gImageReader/issues)
- [License: GPL-3.0](https://github.com/manisandro/gImageReader/blob/master/LICENSE)
- [manisandro/gImageReader on GitHub](https://github.com/manisandro/gImageReader)
- [README](https://github.com/manisandro/gImageReader/blob/master/README.md)
- [Releases](https://github.com/manisandro/gImageReader/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/manisandro-gimagereader
