Come scansionare documenti in Linux con i comandi più utili di SANE

Scanner Access Now Easy (SANE) è un’API (application programming interface) utilizzata per controllare scanner e fotocamere. In uso, l’applicazione della riga di comando, scanimage, può essere utilizzata per inviare in modo rapido e affidabile comandi di uno scanner per eseguire una serie di funzioni utili.

Ecco come sfruttare al meglio SANE per la scansione di documenti e foto.

Ottieni subito SANE

L’API può essere installata utilizzando il tuo gestore di pacchetti. Ad esempio, in un sistema Debian:

sudo apt install sane

… installa l’API SANE e fornisce scanimage dell’applicazione della riga di comando. (Installa anche gli strumenti front-end xscanimage, scanadf e xcam). L’esecuzione del seguente comando mostra tutte le opzioni disponibili:

scanimage -h

Ora, è importante notare che puoi inviare comandi API insieme a comandi specifici dello scanner, tutti nella stessa riga di comando. Inoltre, l’output di -h può creare un po ‘di confusione a causa del fatto che sia le opzioni API che le opzioni scanner vengono stampate sul terminale in uno stile concatenato.

Se non viene rilevato alcuno scanner, otterrai solo le opzioni API. Se viene rilevato uno scanner, è possibile che si verifichi un notevole ritardo durante il recupero, l’invio all’API e la formattazione delle informazioni del dispositivo scanner. Il comando sembra bloccarsi, ma aspetta e finirà.

Detto questo, se vuoi solo le opzioni del dispositivo (opzioni “backend” per lo scanner stesso) puoi usare l’opzione -A :

scanimage -A

Notare che per questo articolo, la versione SANE 1.0.14-15 viene utilizzata come esempio. La tua versione particolare può variare e avere opzioni leggermente diverse. Se hai domande, esegui scanimage con l’opzione -h .

Ovviamente, ogni scanner avrà il suo set specifico di possibili opzioni, quindi sperimentale con tutte quelle per perfezionare i comandi che invii al fine di ottenere i migliori risultati.

Correlato: Come scansionare vecchie diapositive con uno scanner a superficie piana

Comandi SANE facili e semplici

Sì, facile e semplice è ciò che tutti vogliamo. Devi iniziare da qualche parte e il comando più semplice che puoi usare per scansionare qualcosa è:

scanimage > scan_out

Funzionerà se lo scanner viene rilevato dall’API. L’output viene inviato direttamente allo standard out in questo caso e quindi reindirizzato al file, scan_out. Il formato immagine predefinito è PNM e la modalità predefinita (ad esempio, grafica al tratto, monocromatico o colore) è determinata dallo scanner. Se lo scanner non viene rilevato, otterrai questo output (o simile):

scanimage: no SANE devices found

Riceverai anche un messaggio informativo relativo al formato di output non impostato. Questo è solo perché il formato dell’immagine predefinito è pnm. Questo può essere modificato in TIFF, PNG o JPEG.

Output format is not set, using pnm as a default.

Specificare il file di output

L’output standard può essere reindirizzato a un file utilizzando > oppure è possibile emettere un’opzione esplicita per specificare il nome e il percorso completo del file di output, ad esempio:

scanimage -o scan_out.png

In questo caso, l’API produrrà un’immagine in formato PNG.

Elenco e utilizzo dei dispositivi

Vuoi assicurarti che il tuo scanner venga rilevato da SANE? Esegui questo comando:

scanimage -L

Elencherà tutti i dispositivi rilevati. Se un singolo dispositivo ha sia una connessione LAN che una connessione USB, li elencherà su righe separate.

Ad esempio, un Epson WorkForce WF-3640 potrebbe essere elencato in questo modo:

device `epson2:net:192.168.1.26' is a Epson PID 08B8 flatbed scanner
 device `epson2:libusb:001:005' is a Epson PID 08B8 flatbed scanner

In questo caso, puoi utilizzare come indirizzo per inviare e ricevere dati:

scanimage -d epson2:net:192.168.1.26 -o scan_out.png

o

scanimage -d epson2:libusb:001:005 -o scan_out.png

Nota che se scolleghi e ricolleghi l’USB in una porta diversa, l’indirizzo USB cambierà. In tal caso è necessario assicurarsi che l’indirizzo del dispositivo sia lo stesso di quello nuovo stampato quando viene elencato di nuovo.

Correlati: i migliori scanner fotografici per il backup di vecchie foto

Imposta un formato immagine diverso

Se desideri un formato immagine diverso, puoi emettere lo stesso comando in questo modo:

scanimage -o scan_out.tiff

SANE tenterà di indovinare il formato in base all’estensione del file. Il formato può anche essere impostato esplicitamente con:

scanimage --format=tiff -o scan_out.tiff

o anche questo:

scanimage --format=tiff > scan_out

Comandi batch

Bene, cosa puoi ottenere di più dall’API? Ecco cosa puoi ottenere: comandi batch per controllare un alimentatore automatico di documenti (ADF) per la scansione di pagine in sequenza.

Sebbene lo scanner possa produrre solo formati di immagine, questi possono anche essere convertiti in testo tramite un’applicazione di riconoscimento ottico dei caratteri (OCR), come gocr .

Si noti che per produrre un documento ragionevolmente dettagliato per la conservazione del documento o una conversione OCR, potrebbe essere necessario inviare comandi specifici dello scanner. Questi saranno annotati di seguito.

Correlati: i modi migliori per scansionare e digitalizzare vecchie foto

Un esempio di elaborazione in batch

Ti consigliamo di utilizzare formati diversi a seconda dello scopo del risultato finale. Ad esempio, se l’applicazione OCR che si intende utilizzare accetta solo immagini PNM, il formato del file immagine deve essere PNM.

Ecco un esempio di invio di un comando per scansionare una pagina di testo stampato in modo da essere convertito da un’applicazione OCR che accetta immagini pnm. In questo comando, i comandi specifici dello scanner sono –mode, –resolution e –source:

scanimage --batch=document-A-%d.pnm --format=pnm --batch-count=1 --mode Lineart --resolution 1200 --source Automatic

Poiché si tratta di comandi dello scanner e non dell’API SANE, saranno diversi a seconda della marca e del modello e potrebbero richiedere alcuni esperimenti. Ad esempio, il seguente frammento potrebbe non essere ovvio dall’output della guida dal backend:

--source Automatic

Scansiona con SANE

Che tu sia una persona in qualche modo in possesso di una pila di vecchi documenti di famiglia o un conservazionista professionista, la scansione con l’API SANE è una scelta ovvia per i supporti in grado di resistere ai rigori meccanici di scanner e ADF.

Combina la capacità dell’API SANE con la post-elaborazione delle immagini o un’applicazione OCR e puoi digitalizzare quasi tutti i supporti flat che meritano di essere preservati.