Sito statico che esegue OCR (estrazione testo) interamente nel browser usando Tesseract.js (WASM). Supporta:
- Upload immagini (file chooser + drag & drop)
- Acquisizione da camera (getUserMedia) e cattura frame
- Selezione lingua (eng, ita, spa, fra)
- Progress bar e log
- Visualizzazione bounding boxes delle parole
- Copia e download del testo estratto
- Installa le dipendenze:
npm install- Scarica i dati linguistici per Tesseract.js:
mkdir -p tessdata
cd tessdata
wget https://github.com/naptha/tessdata/raw/gh-pages/4.0.0/eng.traineddata.gz
wget https://github.com/naptha/tessdata/raw/gh-pages/4.0.0/ita.traineddata.gz
wget https://github.com/naptha/tessdata/raw/gh-pages/4.0.0/spa.traineddata.gz
wget https://github.com/naptha/tessdata/raw/gh-pages/4.0.0/fra.traineddata.gz
gunzip *.gz
gzip -k *.traineddata
cd ..- Avvia un server locale (es. con Python):
python3 -m http.server 8080- Apri il browser su
http://localhost:8080
- Apri
index.htmlin un browser moderno (Chrome/Firefox). - Scegli un'immagine o trascinala nella dropzone. In alternativa apri la camera e cattura.
- Seleziona la lingua corretta.
- Clicca "Avvia OCR".
- Dopo il riconoscimento puoi copiare o scaricare il testo, o salvare l'immagine.
- Crea un nuovo repo su GitHub e push dei file (
index.html,styles.css,main.js,README.md,package.json,package-lock.json). - Assicurati di eseguire l'installazione delle dipendenze e il download dei dati linguistici prima del deploy.
- Vai su "Settings" -> "Pages" e scegli la branch
main(ogh-pages) e la cartella/ (root). - Salva: la pagina sarà disponibile su
https://<tuo-user>.github.io/<repo>o sul tuo dominio se configurato.
- Questa versione usa Tesseract.js v6 con dipendenze locali per evitare problemi con CDN bloccati.
- I file worker e core sono caricati da
node_modules/locale. - I dati linguistici devono essere scaricati nella cartella
tessdata/(vedi istruzioni di installazione sopra). - Per performance migliori su immagini grandi, ridimensiona l'immagine client-side prima di passare a OCR.
Questo progetto è rilasciato come esempio educativo. Usa la libreria Tesseract.js sotto la sua licenza (MIT).