Scan Empire è un'applicazione Android robusta e moderna, progettata per la digitalizzazione di documenti cartacei, il riconoscimento ottico dei caratteri (OCR) avanzato e la conversione di file multiformato in PDF. Sviluppata in Kotlin utilizzando il framework UI dichiarativo Jetpack Compose, segue una rigorosa architettura MVVM e i principi del codice pulito. La maggior parte dell'elaborazione viene eseguita localmente sul dispositivo, garantendo la massima privacy e sicurezza dei dati dell'utente.
⚙️ Funzionalità principali e architettura di sistema
1. Sistema OCR ibrido (offline e online)
L'app offre flessibilità grazie a due modalità di riconoscimento del testo:
OCR locale (Tesseract): utilizza un'API TessBase personalizzata (Tesseract4Android) per il riconoscimento del testo completamente offline. L'app scarica i modelli linguistici in tempo reale se non sono presenti. Google ML Kit è integrato per il rilevamento automatico della lingua e un algoritmo di confronto del punteggio di confidenza è implementato per il riconoscimento automatico dello script (cirillico vs. latino).
OCR cloud (Google Cloud Vision): utilizzato per layout complessi o documenti di bassa qualità. Integrato tramite un sistema di crediti, consente un riconoscimento avanzato basato su cloud senza compromettere le prestazioni del dispositivo.
2. Elaborazione avanzata delle immagini e integrazione con OpenCV
Prima di eseguire l'OCR, l'immagine viene sottoposta a un processo avanzato di filtraggio e correzione geometrica:
Correzione geometrica (Deskwing): OpenCV raddrizza automaticamente i documenti inclinati e rileva i bordi.
Ottimizzazione visiva: le ombre vengono rimosse e viene applicata la binarizzazione adattiva (soglia di Otsu) per massimizzare il contrasto tra testo e sfondo.
Gestione della memoria: a causa delle grandi dimensioni delle immagini, l'app utilizza oggetti Mat condivisi e gestisce attentamente le risorse per prevenire errori OutOfMemory (OOM).
3. Ricostruzione PDF intelligente (PdfReconstructor)
Utilizzando la libreria PDFBox-Android, l'applicazione converte il testo riconosciuto in documenti PDF ricercabili:
Spaziatura intelligente: l'algoritmo calcola il layout e la spaziatura esatti tra le parole in base alle loro coordinate dall'immagine, preservando la struttura originale del documento.
Sovrapposizione ibrida (PDF ricercabile): il testo viene visualizzato come un livello invisibile direttamente sopra l'immagine originale. L'utente può visualizzare il documento scansionato, ma può cercare, selezionare e copiare il testo.
4. Conversioni e manipolazione dei file
Tutte le conversioni vengono eseguite localmente per proteggere la privacy dell'utente:
Convertitori locali: converte documenti DOCX, Excel e TXT in PDF.
Unione di documenti: combina più immagini o file PDF esistenti in un unico documento PDF.
5. Sicurezza, archiviazione e monetizzazione
L'applicazione è progettata come un prodotto commerciale sostenibile:
Autenticazione: accesso sicuro e collegamento dell'account tramite Google Credential Manager.
Archiviazione: utilizza Android Storage Access Framework (SAF), consentendo agli utenti di scegliere il percorso di salvataggio preferito sul dispositivo o sulla scheda SD.
Monetizzazione: sistema di fatturazione Google Play integrato per l'acquisto di crediti o abbonamenti nel Premium Shop. L'utilizzo gratuito è supportato da annunci pubblicitari non invasivi (AdManager).
📐 Stack tecnologico
Elaborazione asincrona: Kotlin Coroutines e Flow per l'esecuzione in background di processi complessi (scansione, OCR, download di modelli).
Iniezione delle dipendenze: Hilt (Dagger) garantisce una netta separazione delle responsabilità, semplifica i test ed estende l'applicazione.
💡 Riepilogo
Scan Empire è un ecosistema completo per la digitalizzazione mobile. Combinando l'elaborazione locale con OpenCV, l'OCR ibrido e la ricostruzione intelligente dei PDF, offre funzionalità di scansione professionali in un'interfaccia moderna e ottimizzata.
Converti l'immagine in PDF, estrai il testo, firma il documento, unisci, proteggi.
Ultimo aggiornamento
26 set 2026