OCR con Tesseract su IBM i: guida completa con PHP e PASE

Articolo GiWi

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

IBM i è un sistema operativo enterprise proprietario, ma include un ambiente chiamato PASE, che fornisce compatibilità POSIX.

Questo significa che:

  1.  È disponibile una shell tipo Unix

  2.  È possibile eseguire comandi open source

  3.  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

All’interno dell’ambiente PASE è possibile installare Tesseract tramite gli strumenti open source disponibili su IBM i (tipicamente tramite Open Source Package Management in ACS o tramite ambienti compatibili).

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

Per ottenere risultati accurati su testi in italiano, è necessario installare il file lingua:

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

Di seguito il codice completo per una pagina che consente:

  1.  Upload dell’immagine

  2.  Esecuzione OCR tramite Tesseract in PASE

  3.  Pulizia del testo

  4.  Visualizzazione del risultato  

Avvio e test dell’applicazione

L’applicazione può essere esposta tramite:

  • Apache (IBM HTTP Server for i)

  • Oppure server web configurato su IBM i

Una volta pubblicata, è sufficiente:

  1.  Aprire la pagina nel browser

  2.  Caricare un’immagine

  3.  Avviare l’OCR

Il testo riconosciuto verrà mostrato direttamente nella pagina. 

Considerazioni sulla qualità del riconoscimento

La precisione dell’OCR dipende principalmente da:

  • 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

L’integrazione di Tesseract OCR in un’applicazione PHP su IBM i dimostra come sia possibile estendere un sistema enterprise tradizionale con tecnologie open source moderne.

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.