[Flug] OCRmyPDF

Matteo Bini matteobin@tiepi.it
Sab 28 Set 2024 12:24:41 CEST


Secondo messaggio di posta elettronica dedito alla condivisione della
conoscenza in ambito di software libero, con risvolti pratici o meno. Il
primo trattava di come realizzare un DVD-Video da linea di comando [1].
Questo episodio sarà decisamente più utile.

L'altro giorno stavo cercando un libro su OpenGL 2.1. Dopo aver deciso
di acquistare una copia usata della sesta edizione del famigerato "libro
rosso", conosciuto anche come l'OpenGL Programming Guide [2], mi sono
messo alla ricerca di una copia PDF.

Preferisco leggere in cartaceo, ma dei libri tecnici apprezzo la
possibilità di una copia digitale, per facilità di ricerca.

Ho trovato una versione scannerizzata su GitHub [3]. Non credo che una
copia propriamente digitale di questa edizione sia mai esistita.
Malgrado si leggesse bene, non ero soddisfatto del risultato, poiché il
testo non era ricercabile essendo composto da immagini.

Perciò ecco che entra in campo un programma di software libero,
ovviamente da linea di comando, chiamato OCRmyPDF [4], che altro non è
che un'interfaccia raffinata a Tesseract [5], scritta in Python, più una
serie di altri strumenti per comprimere o convertire le immagini.

Tutto quello che ho dovuto fare è lanciare il seguente comando:

$ ocrmypdf -l eng scannerizzato.pdf scannerizzato-con-ocr.pdf

L'opzione -l comunica a Tesseract in che lingua è il PDF da analizzare.
Per lingue diverse dall'inglese, dovete installare dei pacchetti
aggiuntivi [6].

Per una compressione delle immagini più efficiente, il manuale del
programma consiglia d'installare il codificatore JBIG2 [7], da compilare
dai sorgenti, poiché su Debian 12 ancora non è presente nell'archivio
dei programmi, ma dovrebbe essere incluso nella prossima versione [8].

Per il libro in questione OCRmyPDF ha funzionato egregiamente. Non è un
programma minimalista come quelli che amo, però non è nemmeno
eccessivamente tronfio. Una soluzione più snella sarebbe stata quella di
sfruttare in qualche modo GNU Ocrad [9], che invece produce testo solo
da delle immagini PGM/PBM, quindi avrebbe richiesto maggiore impegno, ma
avrebbe potuto fornire la base per ricostruire il libro in un formato
davvero digitale.

Questa storia ci ha insegnato che OCRmyPDF è carino e funziona bene e
che, nonostante il concetto di software libero sia piuttosto diffuso,
quello di cultura libera ancora non lo è abbastanza, forse un tema
ancora più radicale e sovversivo, ma indubbiamente prezioso per la
preservazione della conoscenza e di conseguenza per il bene
dell'umanità.

Se scrivete un libro donatelo al mondo, soprattutto se tecnico e se
tangente a un argomento di software libero [10]. In generale tutta la
cultura e l'arte dovrebbero essere libere! 

A presto.

--
Matteo Bini


[1] https://lists.linux.it/pipermail/flug/2024-February/026648.html
[2] http://www.opengl-redbook.com/
[3] https://github.com/TwTravel/OpenGlBooks/blob/master/RedBook/OpenGL%20programming%20guide%206th%20edition.pdf
[4] https://ocrmypdf.readthedocs.io/en/latest/index.html
[5] https://github.com/tesseract-ocr/
[6] https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html
[7] https://github.com/agl/jbig2enc
[8] https://tracker.debian.org/news/1568451/jbig2enc-029-4-migrated-to-testing/
[9] http://www.gnu.org/software/ocrad/ocrad.html
[10] http://www.gnu.org/philosophy/free-doc.it.html


Maggiori informazioni sulla lista flug