25. 1. 2016

PDF OCR

Máme PDF soubor, který obsahuje naskenované stánky anglické knihy, a potřebujeme jej převést na holý text. Pokud možno na Linuxu a z příkazové řádky. Pojďme na to.

Nejdříve soubor PDF rozbijeme na jednotlivé stránky: Jedna stránka — jeden bitmapový soubor:

pdftoppm input.pdf page

Získáme spoustu souborů page-001.ppm, page-002.ppm, atd.

K převodu obrázků na text použijeme program tesseract. Připravíme si makefile, který nám zajistí převod všech souborů:

SRC := $(wildcard *.ppm)
DST := $(patsubst %.ppm,%.txt,$(SRC))

all: $(DST)

%.txt: %.ppm
 tesseract $< $(basename $@)

Vlastní převod spustíme jednoduše pomocí make. Vytvoří se nám soubory page-001.txt, page-002.txt, atd. Tyto sloučíme do jediného výstupního textového souboru takto:

cat page-???.txt >output.txt

A máme hotovo.

Žádné komentáře: