Scanner Access Now Easy (SANE) is een Application Programming Interface (API) die wordt gebruikt om scanners en camera’s te bedienen. In gebruik kan de opdrachtregeltoepassing, scanimage, worden gebruikt om snel en betrouwbaar een scanneropdrachten te verzenden om een ​​aantal handige functies uit te voeren.

Hier leest u hoe u het meeste uit SANE kunt halen voor het scannen van documenten en foto’s.

Word nu gezond voor jezelf

De API kan worden geïnstalleerd met behulp van uw pakketbeheerder. In een Debian-systeem bijvoorbeeld:

sudo apt install sane

… installeert de SANE API en levert de scanimage van de opdrachtregeltoepassing. (Het installeert ook de front-end tools xscanimage, scanadf en xcam). Als u de volgende opdracht uitvoert, worden alle beschikbare opties weergegeven:

scanimage -h

Nu is het belangrijk op te merken dat u API-opdrachten samen met scannerspecifieke opdrachten kunt verzenden, allemaal in dezelfde opdrachtregel. Verder is de output van -H kan een beetje verwarrend zijn vanwege het feit dat zowel API-opties als scanneropties gewoon in een aaneengeschakelde stijl naar de terminal worden afgedrukt.

scanimage API hulp

Als er geen scanner wordt gedetecteerd, krijgt u alleen de API-opties. Als een scanner wordt gedetecteerd, ondervindt u mogelijk een merkbare vertraging terwijl de informatie van het scannerapparaat wordt opgehaald, naar de API wordt verzonden en geformatteerd. Het commando lijkt te stoppen, maar wacht gewoon en het zal eindigen.

Dat gezegd hebbende, als u alleen de apparaatopties (“backend” -opties voor de scanner zelf) wilt, kunt u de -EEN optie:

scanimage -A

Merk op dat voor dit artikel SANE versie 1.0.14-15 als voorbeeld wordt gebruikt. Uw specifieke versie kan variëren en heeft enigszins andere opties. Als u vragen heeft, voert u scanimage uit met de -H optie.

Natuurlijk heeft elke scanner zijn eigen specifieke set van mogelijke opties, dus experimenteer er in ieder geval mee om de commando’s die je verzendt te verfijnen om de beste resultaten te krijgen.

Gerelateerd: Oude dia’s scannen met een flatbedscanner

Gemakkelijke en eenvoudige SANE-opdrachten

Ja, gemakkelijk en eenvoudig is wat we allemaal willen. Je moet ergens beginnen, en de eenvoudigste opdracht die je kunt gebruiken om iets te scannen is:

scanimage > scan_out

Dit werkt als uw scanner wordt gedetecteerd door de API. De uitvoer wordt in dit geval direct naar standard out gestuurd en vervolgens doorgestuurd naar het bestand scan_out. Het standaardbeeldformaat is PNM en de standaardmodus (bijv. lijntekeningen, zwart-wit of kleur) wordt bepaald door de scanner. Als de scanner niet wordt gedetecteerd, krijgt u deze uitvoer (of vergelijkbaar):

scanimage: no SANE devices found

U krijgt ook een informatief bericht over het uitvoerformaat dat niet is ingesteld. Dit komt alleen omdat het standaard afbeeldingsformaat pnm is. Dit kan worden gewijzigd in TIFF, PNG of JPEG.

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

Het uitvoerbestand specificeren

De standaarduitvoer kan worden omgeleid naar een bestand met behulp van > of u kunt een expliciete optie geven om de naam en het volledige pad van het uitvoerbestand op te geven, bijvoorbeeld:

scanimage -o scan_out.png

In dit geval zal de API een afbeelding in PNG-indeling uitvoeren.

Apparaten vermelden en gebruiken

Wilt u er zeker van zijn dat uw scanner wordt gedetecteerd door SANE? Voer deze opdracht uit:

scanimage -L

Het zal alle gedetecteerde apparaten weergeven. Als een enkel apparaat zowel een LAN-verbinding als een USB-verbinding heeft, worden ze op afzonderlijke regels weergegeven.

Een Epson WorkForce WF-3640 kan bijvoorbeeld als volgt worden weergegeven:

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

In dit geval kunt u een van beide als adres gebruiken om gegevens te verzenden en te ontvangen:

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

of

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

Merk op dat als u de USB loskoppelt en opnieuw aansluit op een andere poort, het USB-adres zal veranderen. In dat geval moet u ervoor zorgen dat uw apparaatadres hetzelfde is als het nieuwe dat wordt afgedrukt wanneer het opnieuw wordt vermeld.

Gerelateerd:De beste fotoscanners voor het maken van back-ups van oude foto’s

Een ander beeldformaat instellen

Als u een ander afbeeldingsformaat wilt, kunt u hetzelfde commando als volgt geven:

scanimage -o scan_out.tiff

SANE zal proberen het formaat te raden op basis van de bestandsextensie. Het formaat kan ook expliciet worden ingesteld met:

scanimage --format=tiff -o scan_out.tiff

of zelfs dit:

scanimage --format=tiff > scan_out

Batch-opdrachten

Wat kun je nog meer uit de API halen? Dit is wat u kunt krijgen: batchcommando’s om een ​​automatische documentinvoer (ADF) te bedienen voor het achter elkaar scannen van pagina’s.

Hoewel de scanner mogelijk alleen afbeeldingsindelingen produceert, kunnen deze ook worden omgezet in tekst via een toepassing voor optische tekenherkenning (OCR), zoals gocr.

Houd er rekening mee dat om een ​​redelijk gedetailleerd document te produceren voor documentbehoud of een OCR-conversie, u mogelijk scannerspecifieke opdrachten moet verzenden. Deze zullen hieronder worden vermeld.

Gerelateerd: De beste manieren om oude foto’s te scannen en te digitaliseren

Een batchverwerkingsvoorbeeld

U zult verschillende formaten willen gebruiken, afhankelijk van het doel van het eindresultaat. Als de OCR-toepassing die u wilt gebruiken bijvoorbeeld alleen PNM-afbeeldingen accepteert, moet uw afbeeldingsbestandsindeling PNM zijn.

Hier is een voorbeeld van het verzenden van een opdracht om een ​​pagina met gedrukte tekst te scannen om te worden geconverteerd door een OCR-toepassing die pnm-afbeeldingen accepteert. In deze opdracht zijn de scannerspecifieke opdrachten –mode, –resolution en –source:

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

Aangezien dit scanneropdrachten zijn en niet de SANE API, zijn ze afhankelijk van het merk en model en kunnen ze wat experimenteren. Het volgende fragment is bijvoorbeeld mogelijk niet duidelijk uit de help-uitvoer van de backend:

--source Automatic

Scan het met SANE

Of u nu een persoon bent die op de een of andere manier in het bezit is van een stapel oude familiedocumenten of een professionele bewaarster bent, scannen met de SANE API is een voor de hand liggende keuze voor media die bestand zijn tegen de mechanische ontberingen van scanners en ADF’s.

Combineer de mogelijkheden van de SANE API met nabewerking van afbeeldingen of een OCR-toepassing, en u kunt bijna alle platte media die het waard is om te bewaren digitaliseren.