OCR con Tesseract su IBM i: guida completa con PHP e PASE
L’estrazione automatica di testo da immagini è una delle funzionalità più richieste nei processi di digitalizzazione.
Dalla gestione documentale all’analisi di etichette o ricevute, poter trasformare un contenuto visivo in testo elaborabile rappresenta un enorme vantaggio operativo.
Tra gli strumenti open source disponibili, Tesseract OCR si distingue per affidabilità, semplicità di utilizzo e facilità di integrazione.
In questo articolo vedremo come configurare ed utilizzare Tesseract in un contesto particolare: IBM i (AS400), sfruttando l’ambiente PASE (Portable Application Solutions Environment).
Tesseract e PHP in PASE per un flusso end-to-end
Il punto chiave è questo: IBM i non è Linux, ma grazie a PASE è possibile eseguire molte tecnologie open source tipiche del mondo Linux direttamente sulla piattaforma.
L’obiettivo è costruire un flusso completo:
- Utilizzo di Tesseract in ambiente PASE
- Integrazione con PHP su IBM i
- Test completo tramite interfaccia web
Tutto questo senza ricorrere a stack esterni o ambienti separati.
IBM i e PASE: perché possiamo usare Tesseract
Questo significa che:
- È disponibile una shell tipo Unix
- È possibile eseguire comandi open source
- Molte librerie Linux possono essere portate ed eseguite
In questo contesto, strumenti come Tesseract OCR possono essere utilizzati anche su IBM i, insieme alla libreria Leptonica, fondamentale per l’elaborazione delle immagini.
Questo può essere fatto tramite il gestore di pacchetti yum, utilizzando il seguente comando:
yum install tesseract* leptonica*
In questo modo verranno installati Tesseract e la libreria Leptonica, che svolge un ruolo cruciale nell’elaborazione delle immagini, fornendo funzionalità come la gestione dei formati, il preprocessing e altre operazioni fondamentali per migliorare la qualità del riconoscimento.
Installazione e verifica di Tesseract
Una volta completata l’installazione, è fondamentale verificare che il motore OCR sia correttamente funzionante.
Dal terminale PASE:
tesseract --version
Se il sistema restituisce la versione del software, l’installazione è corretta.
L’output includerà anche informazioni sulla libreria Leptonica e sulle dipendenze utilizzate.
Configurazione della lingua italiana
ita.traineddata
Questo file deve essere posizionato nella directory tessdata utilizzata da Tesseract.
È possibile verificare le lingue disponibili con:
tesseract --list-langs
Tra i risultati deve comparire ita.
Primo test da linea di comando
Prima di integrare Tesseract in PHP, è consigliabile effettuare un test diretto.
Ad esempio:
tesseract /tmp/test.png /tmp/output -l ita --psm 6
Il parametro --psm 6 indica a Tesseract di trattare l’immagine come un blocco di testo uniforme, migliorando i risultati in presenza di contenuti strutturati.
Il comando genera un file:
/tmp/output.txt
contenente il testo riconosciuto.
Creazione dell’ambiente PHP su IBM i
Su IBM i, PHP può essere eseguito tramite distribuzioni dedicate come:
- ZendPHP
- Seiden PHP+
Verifica della disponibilità:
php -v
Se viene restituita la versione, PHP è correttamente installato.
Struttura del progetto
Creare una directory nell’IFS, ad esempio:
/home/ocr-test
All’interno creare il file:
ocr.php
Implementazione della pagina PHP
- Upload dell’immagine
- Esecuzione OCR tramite Tesseract in PASE
- Pulizia del testo
- Visualizzazione del risultato

Avvio e test dell’applicazione
- Apache (IBM HTTP Server for i)
- Oppure server web configurato su IBM i
Una volta pubblicata, è sufficiente:
- Aprire la pagina nel browser
- Caricare un’immagine
- Avviare l’OCR
Il testo riconosciuto verrà mostrato direttamente nella pagina.
Considerazioni sulla qualità del riconoscimento
- Contrasto tra testo e sfondo
- Risoluzione dell’immagine
- Assenza di rumore
- Orientamento corretto
L’utilizzo del parametro --psm 6 migliora la coerenza in presenza di blocchi di testo.
Conclusione
Grazie all’ambiente PASE, IBM i è in grado di eseguire strumenti tipicamente Linux, permettendo di sviluppare soluzioni avanzate senza uscire dalla piattaforma.
Il vero valore non sta solo nel riconoscere il testo, ma nel trasformarlo in informazione utilizzabile all’interno dei processi aziendali.
Vuoi portare l’OCR su IBM i in produzione?
Scopri come farlo con GiWi: la nostra soluzione per progettare integrazioni scalabili con Tesseract, PHP e PASE, perfettamente inserite nei tuoi processi aziendali.