dd

L'ocr di un testo a due colonne

Ho un testo lungo (un pdf, per esempio) a due colonne e voglio fare l'ocr in automatico e senza spendere soldi in un programma che rare volte userò. Come faccio? Bastano quattro operazioni. Per cominciare, devo installare questi programmi: pdfshuffler, pdftk, tesseract (e i dizionari per le lingue che mi servono) e gimagereader.

A. crop

La prima fase richiede due passaggi. Si apre pdfshuffler, che è in grado di selezionare regioni diverse di documenti pdf. Si selezionano tutte le pagine, poi si segnala la regione da conservare (funzione crop) che impiega la percentuale dal margine, cioè 0% e 50% per la colonna di sinistra e si salva il documento (per es. sinistra.pdf). Si ripette l'operazione per la colonna di destra (50% - 0%) e si salva con un altro nome (p. es. destra.pdf).

B. burst

A partire dai due documenti generati nel passaggio precedente, si creano tanti pdf come pagine ha il documento, con gli ordini:

pdftk sinistra.pdf burst output %04d0.pdf

pdftk destra.pdf burst output %04d1.pdf

La parte "%04d" significa che ogni documento avrà un nome di quattro numeri, riempiendo con lo 0 (0001, 0002... 0546). Questa operazione è molto importante per avere poi i documenti in ordine e poter assemblarli al proprio posto. Invece, l'ultima parte del comando è "0" per le pagine di sinistra, "1" per quelle di destra, rendendo i nomi dei file 00010, 00011, ecc., per poterli assemblare questa volta nello stesso ordine delle colonne.

C. merge

Assembliamo adesso tutti i pdf con:

pdftk *.pdf cat output total.pdf

(attenzione ai documenti originali: conviene spostarli in un'altra cartella; anche qui si possono cancellare le parti che non interessano) e otterremo un documento con ogni colonna in una pagina. Ora possiamo tranquillamente affidarci a tesseract.

D. ocr

L'interfacia per tesseract che funziona meglio è gimagereader che permette riconoscere il documento completo in modo automatico. Si carica total.pdf, si seleziona la lingua e si chiede di riconoscere tutte le pagine. Tutto qui. Si otterrà un documento testo che posso modificare.

Le prove sono state fatte con una distribuzione Linux Debian 7.8 wheezy.