In questi ultimi anni la tecnologia OCR (Optical Character Recognition) è molto migliorata, grazie anche all’applicazione di nuovi algoritmi di intelligenza artificiale o da Modelli Markoviani Nascosti.
In circolazione esistono molti software a pagamento (ABBYY, ScanSoft Omnipage, ecc.) che permettono di trasformare testo cartaceo in documenti digitali effettuando operazioni di scansione, ritaglio, auto rotazione e OCR.
In ambito linux purtroppo non esistono prodotti all in one free, ma armati di un po’ di pazienza possiamo usare più programmi open ottenendo comunque lo stesso risultato finale.
Partiamo da un documento PDF ottenuto da un comune scanner.
Ritagliare un documento PDF con Pdf Scissor
Spesso il primo risultato è quello di avere pagine ruotate e con bordi e margini sporchi.
Possiamo effettuare un crop del documento utilizzando Pdf Scissor.
Il software permette anche di effettuare il crop delle pagine pari e dispari separatamente.
Una volta ritagliato il documento passiamo al raddrizzamento delle pagine storte.
Raddrizzamento delle pagine di un doc PDF e ridimensionamento per dispositivi mobili (K2PDFOPT)
Per fare questo utilizziamo K2PDFOPT
Questo tool è veramente interessante perchè oltre ad effettuate il raddrizzamento automatico, può anche trasformare il pdf in una versione adatta a schermi di 6 pollici o 4 pollici.
Versione Testuale di un PDF (OCR con Tesseract)
Se infine vogliamo trasformare il pdf nella versione testuale possiamo utilizzare Tesseract.
Sviluppato originariamente come software proprietario dalla Hewlett-Packard tra il 1985 e il 1995, fu poi rilasciato come open source nel 2005 e rilasciato con la licenza Apache, versione 2.0. Oggi Lo sviluppo di Tesseract è attualmente sponsorizzato da Google.
Per l’installazione possiamo seguire i seguenti passi:
sudo
apt-get
install
tesseract-ocr tesseract-ocr-eng tesseract-ocr-ita
Particolarità di questo software è la possibilità di elaborare i testi secondo un vocabolario anche italiano effettuando quindi un riconoscimento più fine.
Di seguito allego uno script per facilitare l’elaborazione di un intero pdf, visto che tesseract lavora su singole pagine TIFF
script:
PAGINE=705 # set to the number of pages in the PDF
SORGENTE=output.pdf # set to the file name of the PDF
OUTPUT=ebook.txt # set to the final output file
RESOLUTION=600 # set to the resolution the scanner used (the higher, the better)
touch $OUTPUT
for i in `seq 1 $PAGINE`; do
convert -monochrome -density $RESOLUTION $SORGENTE\[$i\] page$i.tif
tesseract -l ita page$i.tif page$i
cat $OUTPUT page$i.txt > temp.txt
rm $OUTPUT
rm page$i.tif
rm page$i.txt
mv temp.txt $OUTPUT
done
PS. da notare il parametro -l ita per specificare il vocabolario italiano
Da PDF ad EPUB per ebook reader
E’ tutto… se infine vogliamo trasformare il nostro PDF in un formato leggibile da un ebook reader es. epub possiamo utlizzare il tool Calibre