Scanner Access Now Easy (SANE) is an open-source
application programming interface (API) that provides standardized access to any raster
image scanner
An image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting or an object and converts it to a digital image. Commonly used in offices are variations of the desktop ''flatbed scanner'' ...
hardware (
flatbed scanner,
handheld
A mobile device (or handheld computer) is a computer small enough to hold and operate in the hand. Mobile devices typically have a flat LCD or OLED screen, a touchscreen interface, and digital or physical buttons. They may also have a physical ...
scanner, video- and still-cameras,
frame grabber
A frame grabber is an electronic device that captures (i.e., "grabs") individual, digital still frames from an analog video signal or a digital video stream. It is usually employed as a component of a computer vision system, in which video fram ...
s, etc.). The SANE API is
public domain
The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired, ...
. It is commonly used on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
.
Architecture
SANE differs from
TWAIN
Twain may refer to:
People
* Mark Twain, pen name of American writer Samuel Langhorne Clemens (1835–1910)
* Norman Twain (1930–2016), American film producer
* Shania Twain (born 1965), Canadian singer-songwriter
Places
* Twain, California, a ...
in that it is cleanly separated into "
front ends" (user programs) and "
back ends" (scanner drivers). Whereas a TWAIN driver handles the user interface as well as communications with the scanner hardware, a SANE driver only provides an interface with the hardware and describes a number of "options" which drive each scan. These ''options'' specify parameters such as the resolution of the scan, the scan area, colour model, etc. Each ''option'' has a name, and information about its type, units, and range or possible values (e.g., enumerated list). By convention there are several "well known" ''options'' that front ends can supply using convenient
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
interaction e.g., the scan area ''options'' can be set by dragging a rectangular outline over a preview image. Other options can be presented using GUI elements appropriate to their type e.g., sliders, drop-down lists, etc.
One consequence of this separation is that network scanning is easily implemented with no special handling in either the front ends or back ends. On a host with a scanner, the saned daemon runs and handles network requests. On client machines a "net" back end (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a front end locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" back end passes requests and data between the local front end and the remote host.
Various types of unsupervised batch scanning are also possible with a minimum of support needed in the back end (driver). Many scanners support the attachment of document feeders which allow a large number of sheets of paper to be automatically scanned in succession. Using the SANE API, the front end simply has to "play back" the same set of options for each scan, driving the document feed in between scans to load the next sheet of paper. The front end only has to obtain the set of options from the user once.
Graphical user interfaces
Several user interfaces have been written to combine SANE with an easy user method of controlling it.
gscan2pdf
gscan2pdf is an interface for scanning documents to PDF on the
GNOME desktop that uses SANE to communicate with the scanner. It is available under the
GPL
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
. It includes common editing tools, e.g., for rotating or cropping pages. It is also able to perform
OCR using several optional OCR tools and save a searchable PDF. PDF files can be further downsampled upon saving.
Simple Scan
![Simple Scan (GNOME Document Scanner) 3](https://upload.wikimedia.org/wikipedia/commons/9/95/Simple_Scan_%28GNOME_Document_Scanner%29_3.34.1.jpg)
Simple Scan is a simplified GUI using SANE that is intended to be easier to use and better integrate into the
GNOME desktop than XSane. It was initially written for
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All ...
and is maintained by Robert Ancell of
Canonical Ltd.
Canonical Ltd. is a UK-based privately held computer software company founded and funded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu and related projects. Canonical employs staff ...
for Linux. Simple Scan was first fielded as part of
Ubuntu 10.04 Lucid Lynx and is also used in
Lubuntu
Lubuntu ( ) is a lightweight Linux distribution based on Ubuntu and uses the LXQt desktop environment in place of Ubuntu's GNOME desktop. Lubuntu was originally touted as being "lighter, less resource hungry and more energy-efficient", but now ...
(until Lubuntu 18.04 LTS) and
Xubuntu
Xubuntu () is a Canonical Ltd.–recognized, community-maintained derivative of the Ubuntu operating system. The name ''Xubuntu'' is a portmanteau of ''Xfce'' and ''Ubuntu'', as it uses the Xfce desktop environment, instead of Ubuntu's Unity a ...
. It is now part of the
GNOME project.
Skanlite
![Skanlite](https://upload.wikimedia.org/wikipedia/commons/7/7b/Skanlite.png)
Skanlite is a simple
image scanning
An image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting or an object and converts it to a digital image. Commonly used in offices are variations of the desktop ''flatbed scanner'' ...
application, based on the KSane backend. Kåre Särs is the lead developer. In
KDE 4
KDE Software Compilation 4 (KDE SC 4) was the only series of the so-called KDE Software Compilation (short: KDE SC), first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop En ...
Skanlite replaced Kooka of KDE 3 as default KDE scanning application.
Skanlite is based on libksane, an interface provided by KDE for SANE libraries to control flatbed scanners.
It also works with networked scanners.
SwingSane
SwingSane is a cross-platform, Java front end for SANE, written and maintained by Roland Quast. It is available for
Microsoft Windows,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
and is licensed under the Apache 2.0 License.
The source code for the project can also be adapted for use with an existing Swing application.
XSane
XSane is a graphical front end for SANE written by Oliver Rauch. It is available for
Microsoft Windows,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
UNIX
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
, and
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 r ...
and is licensed under the GNU General Public License (GPL).
The Windows version only allows a Windows computer to access a scanner that is attached to a Unix, OS/2 or Mac OS X network computer, but not generally to the local Windows computer. Only the "complete" sane-back-ends versions will possibly work with some scanner models connected locally.
See also
*
Image and Scanner Interface Specification
Image and Scanner Interface Specification (ISIS) is an industry standard interface for image scanning technologies, developed by Pixel Translations in 1990 (which became EMC Corporation's Captiva Software and later acquired by OpenText).
ISIS is ...
(ISIS) – Open industry standard interface.
*
TWAIN
Twain may refer to:
People
* Mark Twain, pen name of American writer Samuel Langhorne Clemens (1835–1910)
* Norman Twain (1930–2016), American film producer
* Shania Twain (born 1965), Canadian singer-songwriter
Places
* Twain, California, a ...
– Software
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
for local drivers that are bundled with control
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
.
*
Windows Image Acquisition Windows Image Acquisition (WIA; sometimes also called Windows Imaging Architecture) is a proprietary Microsoft driver model and application programming interface (API) for Microsoft Windows Me and later Windows operating systems that enables graphi ...
(WIA) – Proprietary API from Microsoft.
References
External links
*
SANE back ends list{{FOSS
Device drivers
Image scanning