Confronto dei protocolli di scansione dei documenti.

Categoria del blog: TWAIN.NET

25.08.2025

I moderni sistemi di elaborazione dei documenti sono sempre più integrati con dispositivi periferici per ottenere copie digitali di supporti cartacei. La questione chiave nello sviluppo di tali soluzioni è la scelta di un protocollo per l'interazione con uno scanner di immagini/documenti. In questo articolo analizzeremo i principali standard, ne valuteremo i vantaggi e i limiti e considereremo come implementarne il supporto utilizzando VintaSoft TWAIN .NET SDK.



1. Scansione di documenti con scanner TWAIN

TWAIN è uno standard che definisce un protocollo software e un'API (Application Programming Interface) per la comunicazione tra applicazioni software e dispositivi di imaging come scanner e fotocamere digitali.

TWAIN è uno standard e pertanto garantisce l'uniformità di interazione tra diversi dispositivi e applicazioni, semplificando lo sviluppo e l'utilizzo di software per la gestione delle immagini.


1.1. Sistemi operativi supportati

Lo standard TWAIN dichiara il supporto per i sistemi operativi Windows, Linux e macOS.


1.2. Disponibilità di un driver di dispositivo

Per lavorare con un dispositivo TWAIN è necessario installare un driver TWAIN nel sistema operativo.

Il driver TWAIN per uno scanner di immagini è nella maggior parte dei casi sviluppato dal produttore dello scanner di immagini: grazie a ciò, il driver TWAIN fornisce accesso a tutte le funzionalità dello scanner di immagini e viene garantita la massima velocità di lavoro con lo scanner di immagini.

Lo standard TWAIN è lo standard più diffuso e di base per lavorare con gli scanner di immagini nel sistema operativo Windows. Quasi tutti gli scanner di immagini dispongono di un driver TWAIN per Windows.

Al momento, i dipendenti di VintaSoft hanno visto driver TWAIN funzionanti per Linux solo da Kodak.

I dipendenti di VintaSoft non sanno nulla dell'esistenza di driver TWAIN per macOS per gli scanner di immagini moderni. Sui forum Apple, è possibile trovare informazioni secondo cui Apple ha ufficialmente interrotto il supporto dello standard TWAIN nel suo sistema operativo macOS intorno al 2019.


1.3. Trasferimento di un'immagine da uno scanner di immagini a un'applicazione client

Lo standard TWAIN definisce 3 modalità per il trasferimento di un'immagine scansionata da uno scanner di immagini a un'applicazione client. La modalità "Nativa" consente di trasferire un'immagine come oggetto Windows Bitmap. La modalità "Memoria" consente di trasferire un'immagine tramite memoria, ovvero i dati vengono trasferiti come un array di byte contenente dati immagine "grezzi" o dati immagine codificati (ad esempio, CCITT4 o JPEG). La modalità "File" consente di salvare l'immagine scansionata direttamente in un file. La presenza di tre modalità consente di selezionare la modalità che meglio si adatta alla logica dell'applicazione client e garantisce le massime prestazioni e flessibilità.


1.4. Utilizzo delle funzionalità dello scanner di immagini

Lo standard TWAIN contiene oltre 700 pagine di testo e descrive in dettaglio il processo di interazione tra il driver TWAIN e l'applicazione. Lo standard TWAIN consente di utilizzare quasi tutte le funzionalità di uno scanner di immagini.


1.5. Velocità dello scanner di immagini

L'utilizzo dello standard TWAIN garantisce un'eccellente velocità di lavoro con uno scanner di immagini/documenti.


1.6. Supporto tecnologico

Lo standard TWAIN è sviluppato dal "TWAIN Working Group" (sito web https://twain.org), un'organizzazione no-profit che supporta e sviluppa lo standard TWAIN. Questo gruppo include diversi produttori di scanner per immagini e società di sviluppo software.




2. Scansione di documenti con scanner SANE

SANE (Scanner Access Now Easy) è un'interfaccia di programmazione applicativa open source che fornisce un'interfaccia standardizzata per l'accesso agli scanner di immagini raster. SANE consente di acquisire immagini da vari dispositivi, come scanner piani e fotocamere. SANE implementa una netta separazione tra il driver del dispositivo e l'interfaccia utente del dispositivo.


2.1. Sistemi operativi supportati

L'API SANE è lo standard più diffuso e basilare per lavorare con gli scanner per immagini sul sistema operativo Linux.


2.2. Disponibilità di un driver di dispositivo

Quasi tutti gli scanner di immagini dispongono di un driver SANE per Linux.

Esistono driver SANE forniti dal produttore dello scanner di immagini o dalla community SANE. SANE è un'API e definisce solo l'architettura del driver SANE. L'implementazione specifica del driver SANE dipende dallo sviluppatore del driver. La maggior parte dei driver SANE è sviluppata da sviluppatori della community SANE.

Per lavorare con i dispositivi SANE è necessario installare il driver SANE nel sistema operativo Linux. L'elenco dei dispositivi che supportano l'API SANE è disponibile qui: http://www.sane-project.org/sane-supported-devices.html


2.3. Trasferimento di un'immagine da uno scanner di immagini a un'applicazione client

Il dispositivo SANE trasferisce i dati dell'immagine tramite la memoria, ovvero i dati dell'immagine scansionata vengono trasferiti come un array di byte, che contiene i dati dell'immagine "grezzi".


2.4. Utilizzo delle funzionalità dello scanner di immagini

Il documento che definisce l'API SANE non è di grandi dimensioni e definisce le funzionalità per il lavoro di base con lo scanner di immagini, ovvero l'API SANE definisce un'API per l'acquisizione di immagini semplice senza utilizzare le funzionalità avanzate dello scanner di immagini. Allo stesso tempo, nulla impedisce allo sviluppatore del driver SANE di implementare il supporto per funzionalità avanzate, ma queste saranno funzionalità esterne all'API SANE.


2.5. Velocità dello scanner di immagini

L'utilizzo dell'API SANE garantisce buone prestazioni con lo scanner di immagini/documenti.


2.6. Supporto tecnologico

Il progetto SANE (sito web http://www.sane-project.org) è un progetto open source, il cui codice sorgente può essere liberamente modificato e distribuito per la collaborazione della comunità e per facilitare miglioramenti e aggiornamenti continui.


3. Scansione di documenti con scanner eSCL

eSCL (eXtensible Scanner Control Library) è uno standard sviluppato dalla Mopria Alliance che definisce un protocollo di scansione delle immagini per abilitare la scansione wireless su vari dispositivi senza la necessità di installare driver. Il protocollo eSCL utilizza HTTP(S) e XML per comunicare tra lo scanner di immagini e l'applicazione che lo utilizza.


3.1. Sistemi operativi supportati

Il protocollo eSCL può essere utilizzato su Windows, Linux, macOS, Android. Il protocollo eSCL può utilizzare una rete cablata o wireless.


3.2. Disponibilità di un driver di dispositivo

Per lavorare con un dispositivo eSCL non è necessario installare un driver nel sistema operativo. In genere, un dispositivo eSCL è un dispositivo Linux che esegue un server web che gestisce le richieste al dispositivo utilizzando il protocollo eSCL. Il server web fornisce anche un'interfaccia web che consente all'utente di configurare i parametri di scansione e gestire comodamente le attività di scansione delle immagini tramite un browser web.

Un elenco dei dispositivi che supportano il protocollo eSCL è disponibile qui: https://mopria.org/it/certified-products


3.3. Trasferimento di un'immagine da uno scanner di immagini a un'applicazione client

Lo standard eSCL specifica che qualsiasi dispositivo eSCL deve supportare il trasferimento di un'immagine scansionata come flusso JPEG o PDF, ovvero affinché un'applicazione client riceva un'immagine scansionata da uno scanner di immagini, vengono eseguiti i seguenti passaggi:

Se l'immagine scansionata deve essere salvata immediatamente in un file o in un database, il processo di trasferimento dell'immagine dallo scanner all'applicazione client è ottimale. Se è necessario visualizzare l'immagine scansionata dopo la scansione, sarà necessario decodificare l'immagine JPEG o eseguire il rendering della pagina PDF - questo rappresenta uno svantaggio, poiché in linea di principio comporta un'inutile "codifica-decodifica" intermedia dell'immagine scansionata.

Lo standard eSCL definisce anche la capacità di ricevere dati di immagine "grezzi" da uno scanner di immagini, ma questa opzione non è obbligatoria e non è supportata da tutti gli scanner eSCL.


3.4. Utilizzo delle funzionalità dello scanner di immagini

Le specifiche del protocollo eSCL contengono oltre 70 pagine e definiscono le funzionalità per il lavoro di base con uno scanner di immagini, ovvero il protocollo eSCL è adatto per la scansione di immagini semplici senza utilizzare le funzionalità avanzate di uno scanner di immagini.


3.5. Velocità dello scanner di immagini

La velocità di scansione delle immagini dipende dalla velocità della rete attraverso la quale sono connessi lo scanner di immagini eSCL e l'applicazione client. Nella maggior parte dei casi, l'utilizzo del protocollo eSCL garantisce una buona velocità di lavoro con uno scanner di immagini/documenti.


3.6. Supporto tecnologico

La Mopria Alliance (sito web https://mopria.org) è un'organizzazione di produttori di stampanti e sviluppatori software che crea e promuove standard universali per la stampa e la scansione wireless da dispositivi mobili. Gli standard Mopria consentono ai dispositivi certificati di trovarsi sulla rete e scambiare dati, offrendo stampe e scansioni semplici e pratiche da una varietà di dispositivi mobili come smartphone e tablet.




4. Scansione di documenti con scanner WIA

WIA è l'acronimo di Windows Image Acquisition. È un componente del sistema operativo Windows che consente al software di comunicare con dispositivi di imaging come scanner e fotocamere digitali. WIA fornisce un'API (Application Programming Interface) che consente agli sviluppatori di creare applicazioni in grado di accedere alle immagini da questi dispositivi.


4.1. Sistemi operativi supportati

WIA è un componente del sistema operativo Windows e pertanto i dispositivi compatibili con WIA possono essere utilizzati solo su Windows.


4.2. Disponibilità di un driver di dispositivo

Non è necessario installare un driver WIA affinché un dispositivo WIA funzioni, poiché un driver WIA standard è già installato nel sistema operativo Windows. Uno scanner che supporta WIA è pronto per funzionare immediatamente dopo l'installazione in Windows.


4.3. Trasferimento di un'immagine da uno scanner di immagini a un'applicazione client

L'API WIA definisce 2 modalità per il trasferimento di un'immagine scansionata da uno scanner di immagini a un'applicazione client. La modalità "Memoria" consente di trasferire un'immagine tramite memoria, ovvero i dati vengono trasferiti come un array di byte. La modalità "File" consente di salvare l'immagine scansionata direttamente in un file.


4.4. Utilizzo delle funzionalità dello scanner di immagini

Le informazioni sull'API WIA sono disponibili sul sito Web Microsoft: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/wia/-wia-wia-application-programming-interface

L'API WIA definisce un'API per la scansione semplice delle immagini senza utilizzare funzionalità avanzate di scansione delle immagini.


4.5. Velocità dello scanner di immagini

L'utilizzo dell'API WIA offre buone prestazioni con uno scanner di immagini/documenti.


4.6. Supporto tecnologico

L'API WIA è supportata da Microsoft.


5. Scansione di documenti con scanner ICA

ICA sta per Image Capture. ICA è un framework Apple progettato per "cercare dispositivi multimediali e controllarli a livello di programmazione dall'applicazione".

Il framework ICA fa parte del sistema operativo macOS ed è quindi lo standard più diffuso e basilare per lavorare con gli scanner di immagini nel sistema operativo macOS.

Per lavorare con un dispositivo ICA è necessario installare il driver ICA nel sistema operativo macOS.


6. Scansione di documenti con scanner ISIS

Lo standard di scansione ISIS è una specifica "Image and Scanner Interface" sviluppata da Pixel Translations (ora parte di OpenText) per la gestione di dispositivi di imaging come gli scanner. È noto per le sue elevate prestazioni, la modularità e le specifiche complete per l'integrazione di scanner ad alta velocità nelle applicazioni, consentendo loro di funzionare alla velocità nominale o superiore. A differenza del più comune standard TWAIN, ISIS era inizialmente destinato agli ambienti di produzione e richiedeva ai fornitori il pagamento di una royalty per il driver, rendendolo meno diffuso nel settore aziendale.

Per lavorare con un dispositivo ISIS, il driver ISIS deve essere installato nel sistema operativo.

I driver ISIS sono stati originariamente sviluppati da Pixel Translations, che in seguito è entrata a far parte di EMC (ora OpenText). I produttori di scanner pagano EMC per utilizzare il driver ISIS e includerlo nel loro hardware, oppure acquistano kit di sviluppo e codice di esempio da aziende come DELL EMC Captiva per creare i propri driver ISIS.

L'utilizzo del driver ISIS garantisce la velocità migliore/massima per lo scanner di documenti.


7. Quale protocollo di scansione delle immagini scegliere?

La scelta del protocollo di scansione dovrebbe basarsi non solo sulle caratteristiche tecniche dei dispositivi, ma anche sulle effettive condizioni operative, sui requisiti aziendali e sui limiti dell'infrastruttura.

Tipo e modello di scanner:

Suggerimento: prima di iniziare lo sviluppo, raccogli un elenco dei modelli di scanner con cui il tuo software funzionerà e controlla le loro specifiche sul sito Web del produttore.


Requisiti di qualità e velocità:


Funzionalità del flusso di lavoro:

Esempio: se si dispone di un archivio con migliaia di fogli fronte-retro, la mancanza del supporto duplex può raddoppiare il tempo di funzionamento.


Costi di implementazione e supporto:
Per avviare un progetto con un budget limitato, TWAIN è la scelta più razionale.


8. Implementazione in VintaSoft TWAIN .NET SDK

VintaSoft TWAIN .NET SDK è una libreria .NET professionale per la scansione di immagini, che consente di creare un'applicazione .NET per controllare gli scanner di immagini TWAIN in Windows e Linux, gli scanner di immagini SANE in Linux, gli scanner di immagini eSCL in Windows e Linux.

Inoltre VintaSoft TWAIN .NET SDK fornisce API JavaScript e il servizio VintaSoft Web TWAIN, che consentono a uno sviluppatore web di creare rapidamente e facilmente un'applicazione web multi-browser per la ricezione di immagini dagli scanner di immagini TWAIN in Windows e Linux, dagli scanner di immagini SANE in Linux, dagli scanner di immagini eSCL in Windows e Linux. L'applicazione web sviluppata può essere utilizzata in tutti i principali browser web.

La scelta di un protocollo di scansione è una decisione strategica per gli sviluppatori di sistemi di gestione documentale. TWAIN rimane uno standard universale e VintaSoft TWAIN .NET SDK offre un'implementazione comoda e flessibile, supportando TWAIN, WIA (tramite TWAIN), SANE ed eSCL. Con una corretta integrazione, è possibile ottenere un funzionamento stabile con scanner di diversi produttori e in diversi ambienti, dalle applicazioni desktop ai servizi cloud.