# OCR - Optical Character Recognition This software implements a heavily parallelized pipeline to recognize text in PDF files. It is used for nopaque's OCR service but you can also use it standalone, for that purpose a convenient wrapper script is provided. The pipeline is designed to run on Linux operating systems, but with some tweaks it should also run on Windows with WSL installed. ## Software used in this pipeline implementation - Official Debian Docker image (buster-slim): https://hub.docker.com/_/debian - Software from Debian Buster's free repositories - ocropy (1.3.3): https://github.com/ocropus/ocropy/releases/tag/v1.3.3 - pyFlow (1.1.20): https://github.com/Illumina/pyflow/releases/tag/v1.1.20 - Tesseract OCR (5.0.0): https://github.com/tesseract-ocr/tesseract/releases/tag/5.0.0 ## Installation 1. Install Docker and Python 3. 2. Clone this repository: `git clone https://gitlab.ub.uni-bielefeld.de/sfb1288inf/ocr.git` 2. Build the Docker image: `docker build -t gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/ocr:v0.1.0 ocr` 2. Add the wrapper script (`wrapper/ocr` relative to this README file) to your `${PATH}`. 3. Create working directories for the pipeline: `mkdir -p //{input,models,output}`. 4. Place your Tesseract OCR model(s) inside `//models`. ## Use the Pipeline 1. Place your PDF files inside `//input`. Files should all contain text of the same language. 2. Clear your `//output` directory. 3. Start the pipeline process. Check the pipeline help (`ocr --help`) for more details. ```bash cd / ocr -i input -o output -m models/ -l # or ocr -i input -o output -m models/* -l ``` 4. Check your results in the `//output` directory.