# OCRFeeder

OCRFeeder is an optical character recognition suite for GNOME, which also supports virtually any command-line OCR engine, such as CuneiForm, GOCR, Ocrad and Tesseract. It converts paper documents to digital document files and can serve to make them accessible to visually impaired users.
OCRFeeder is free and open-source software subject to the terms of the GNU General Public License (GPL) version 3 or later. It is available for Linux and other Unix-like operating systems.

## History

OCRFeeder was started as a master's thesis in computer science by Joaquim Rocha, who was later hired by Igalia, S.L. and continued development there.
The first version was published in March 2009. The OCRFeeder project was initially published and hosted on Google Code, temporarily used Gitorious and now uses the GNOME infrastructure. Since 5 April 2010 a software package is included in the official Debian repositories.
Version 0.7 from July 30, 2010, brought image pre-processing features, 0.7.1 (November 8, 2010) enabled for scanner access from within OCRFeeder.

## Features

OCRFeeder has a simple graphical user interface that is designed to the GNOME Human Interface Guidelines. It performs a Document Layout Analysis and transfers the layout to capable output formats. It searches for content areas, outlines them and guesses the content type (text or image) and processes text areas through the OCR back-end. It can use virtually any command-line OCR engine as back-end and features auto-detection and auto-configuration for all popular free engines. OCR back-ends may be either auto-configured, the necessary command line entered in a GUI dialogue or configured directly via a XML file. Scan image post-processing including de-skewing can be done. All recognition results can be reviewed and edited before saving to the desired output format. Sessions can be saved and loaded. The suite also includes a spell checker. OCRFeeder has built-in procedures for the post-processing of the raw OCR results returned by the OCR engine. It can remove remaining segmentation to printed lines of text, even with removal of hyphenation.
Although OCRFeeder is a GUI tool, it can also run in command line mode (as ocrfeeder-cli), which may be a useful tool for automatic document batch processing. In this mode OCRFeeder uses the default OCR engine, which the user can set in the application's preferences.
The program is written in Python and uses the GTK+ library (using PyGTK). It acts as a graphical front-end for other existing tools. For example, it does not make actual character recognition itself, but uses external programs such as an “OCR engine” that is installed on the system. It can automatically detect and configure CuneiForm, GOCR, Ocrad and Tesseract as backend OCR engines. Scanners are accessed via SANE. For post-processing of scanned images there is integration of the command-line tool “Unpaper”, among other things. PDF files are processed using Ghostscript in the backend.

### Input and output

OCRFeeder can import data from PDF or graphic files. From 0.7.1a version it supports grabbing images directly from the scanner device.
The results can be saved in HTML, OpenDocument, plain text or PDF file formats. hOCR file output is also planned. Initial formatting can be done directly in the program.