Scanner Access Now Easy: Difference between revisions
imported>Ponken m →Architecture: w-links, spelling frontend and backend |
imported>FullScale4Me Removed several large blobs of text stuffed in 3 reference quote tags. |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
{{Short description|Open source scanner application programming interface}} | {{Short description|Open source scanner application programming interface}} | ||
{{Infobox software | {{Infobox software | ||
| name = SANE | | name = SANE | ||
| Line 11: | Line 10: | ||
| developer = | | developer = | ||
| released = {{Start date and age|1996|11|27}}<ref>[http://sane-devel.alioth.debian.narkive.com/iwO4b2L3/history-of-sane History of SANE], 2001-11-20, sane-devel@lists.alioth.debian.org Mailing list, "The first entry in ChangeLog is from 1996-11-16. The first SANE standard I know is version 0.2 from 1996-11-17. SANE 0.1 seem to have been released around 1996-11-27. The first mail on sane-devel is from 1996-12-09."</ref> | | released = {{Start date and age|1996|11|27}}<ref>[http://sane-devel.alioth.debian.narkive.com/iwO4b2L3/history-of-sane History of SANE], 2001-11-20, sane-devel@lists.alioth.debian.org Mailing list, "The first entry in ChangeLog is from 1996-11-16. The first SANE standard I know is version 0.2 from 1996-11-17. SANE 0.1 seem to have been released around 1996-11-27. The first mail on sane-devel is from 1996-12-09."</ref> | ||
| latest release version = | | latest release version = {{wikidata|property|preferred|references|edit|Q1558324|P348|P548=Q2804309}} | ||
| latest release date = {{Start date and age| | | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q1558324|P348|P548=Q2804309|P577}}}} | ||
| latest preview version = | | latest preview version = | ||
| latest preview date = | | latest preview date = | ||
| Line 21: | Line 20: | ||
| language = | | language = | ||
| genre = | | genre = | ||
| license = [[GPLv2|GNU GPLv2 or later]]<ref>{{cite web |access-date=November 26, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/frontend/scanimage.c |title=license notice placed at the top in one of the source files of the project's said repository subsection | | license = [[GPLv2|GNU GPLv2 or later]]<ref>{{cite web |access-date=November 26, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/frontend/scanimage.c |title=license notice placed at the top in one of the source files of the project's said repository subsection.}}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> (frontend programs),<br />weakened<ref>{{cite web |access-date=November 27, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/backend/dll.c |title=sane/sane-backends - SANE backends - scanner drivers }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> GPLv2 or later<ref>{{cite web |access-date=November 26, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/backend/dll.c |title=license notice placed at the top in one of the source files of the project's said repository subsection.}}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> (backend libraries), public domain<ref>{{cite web |access-date=November 26, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/LICENSE |title=license notice file placed in project's repository root section. }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> (SANE standard: API & network protocol)<ref>{{cite web |access-date=November 26, 2017 |url=https://anonscm.debian.org/cgit/sane/sane-backends.git/tree/LICENSE |title=license notice file placed in project's repository root section. }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> | ||
}} | }} | ||
'''Scanner Access Now Easy''' ('''SANE''') is an open-source [[application programming interface]] (API) that provides standardized access to any raster [[image scanner]] hardware ([[Image scanner|flatbed]] scanner, [[handheld]] scanner, video- and still-cameras, [[frame grabber]]s, etc.). The SANE API is [[public domain]]. It is commonly used on [[Linux]]. | '''Scanner Access Now Easy''' ('''SANE''') is an open-source [[application programming interface]] (API) that provides standardized access to any raster [[image scanner]] hardware ([[Image scanner|flatbed]] scanner, [[handheld]] scanner, video- and still-cameras, [[frame grabber]]s, etc.). The SANE API is [[public domain]]. It is commonly used on [[Linux]]. | ||
| Line 37: | Line 35: | ||
===gscan2pdf=== | ===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 [[General Public License|GPL]]. It includes common editing tools, e.g., for rotating or cropping pages. It is also able to perform [[Optical Character Recognition|OCR]] using several optional OCR tools and save a searchable PDF. PDF files can be further downsampled upon saving.<ref name=" | 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 [[General Public License|GPL]]. It includes common editing tools, e.g., for rotating or cropping pages. It is also able to perform [[Optical Character Recognition|OCR]] using several optional OCR tools and save a searchable PDF. PDF files can be further downsampled upon saving.<ref name="gscan-to-pdf">{{Cite web|url = https://gscan2pdf.sourceforge.net/|title = gscan2pdf - A GUI to produce PDFs or DjVus from scanned documents | access-date = 27 September 2011 | last = gscantopdf}}</ref> | ||
===NAPS2=== | |||
NAPS2 is free and open source scanning software for Windows 7+ (x64, x86),<ref>{{cite web |author1=Vanced Apps |title=NAPS2 Document Scanner |url=https://apps.microsoft.com/detail/xpfpghzz8m7mmh |website=Microsoft Store |publisher=Microsoft |access-date=8 September 2025 |location=Redmond, Washington |language=en-US}}</ref> macOS 10.15+ (x64, arm64) and Linux (x64, arm64) (GTK 3.20+, glibc 2.27+, libsane). Saves scans PDF, TIFF, JPEG, or PNG. Optical character recognition (OCR) is available using Tesseract.<ref>{{cite web |last1=Olden-Cooligan |first1=Ben |title=NAPS2 - Scan documents to PDF and more |url=https://www.naps2.com/ |website=www.naps2.com |access-date=8 September 2025 |date=2025}}</ref> | |||
===Simple Scan=== | ===Simple Scan=== | ||
| Line 50: | Line 51: | ||
===SwingSane=== | ===SwingSane=== | ||
SwingSane is a cross-platform, [[Java (programming language)|Java]] front end for SANE, written and maintained by Roland Quast. It is available for [[Microsoft Windows]], [[Linux]], [[Mac OS X]] and is licensed under the Apache 2.0 License.<ref name="SWINGSANE">{{cite web|url = http://swingsane.com/|title = SwingSane - graphical scanning frontend|access-date = 19 February 2015|last = Quast|first = Roland|date=February 2015}}</ref> The source code for the project can also be adapted for use with an existing [[Swing (Java)|Swing]] application.<ref name="SWINGSANESRC">{{Cite web|url = https://github.com/rquast/swingsane|title = SwingSane project files|access-date = 19 February 2015|last = Quast|first = Roland| website=[[GitHub]] | SwingSane is a cross-platform, [[Java (programming language)|Java]] front end for SANE, written and maintained by Roland Quast. It is available for [[Microsoft Windows]], [[Linux]], [[Mac OS X]] and is licensed under the Apache 2.0 License.<ref name="SWINGSANE">{{cite web|url = http://swingsane.com/|title = SwingSane - graphical scanning frontend|access-date = 19 February 2015|last = Quast|first = Roland|date=February 2015}}</ref> The source code for the project can also be adapted for use with an existing [[Swing (Java)|Swing]] application.<ref name="SWINGSANESRC">{{Cite web|url = https://github.com/rquast/swingsane|title = SwingSane project files|access-date = 19 February 2015 | last = Quast | first = Roland| website=[[GitHub]] }}</ref> | ||
===XSane=== | ===XSane=== | ||
XSane is a graphical front end for SANE written by Oliver Rauch. It is available for [[Microsoft Windows]], [[Linux]], [[UNIX]], and [[OS/2]] and is licensed under the GNU General Public License (GPL).<ref name="XSANE">{{cite web|url = https://gitlab.com/sane-project/frontend/xsane |title = XSane - graphical scanning frontend|access-date = 1 August 2019|last = Rauch|first = Oliver|date=February 2009}}</ref> 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.<ref name=" | XSane is a graphical front end for SANE written by Oliver Rauch. It is available for [[Microsoft Windows]], [[Linux]], [[UNIX]], and [[OS/2]] and is licensed under the GNU General Public License (GPL).<ref name="XSANE">{{cite web|url = https://gitlab.com/sane-project/frontend/xsane |title = XSane - graphical scanning frontend|access-date = 1 August 2019|last = Rauch|first = Oliver|date=February 2009}}</ref> 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.<ref name="WIN">{{Cite web|url = http://www.xsane.org/xsane-win32.html|title = XSane WIN32 version|access-date = 24 October 2010|last =Rauch|first = Oliver|archive-url= https://web.archive.org/web/20170822145000/http://www.xsane.org/xsane-win32.html|archive-date= 22 August 2017|url-status=dead}}</ref> | ||
== See also == | == See also == | ||
| Line 65: | Line 66: | ||
== External links == | == External links == | ||
{{Commons category|Scanner Access Now Easy}} | {{Commons category|Scanner Access Now Easy}} | ||
* | * [http://www.sane-project.org/sane-supported-devices.html SANE Supported Devices] | ||
* [ | * [https://github.com/alexpevzner/sane-airscan |Scanner Access Now Easy] - universal driver for eSCL (Apple AirScan) and [[Web_Services_for_Devices |WSD]] | ||
{{FOSS}} | {{FOSS}} | ||
[[Category:Device drivers]] | [[Category:Device drivers]] | ||
[[Category:Image scanning]] | [[Category:Image scanning]] | ||
Latest revision as of 00:58, 9 September 2025
Template:Short description Script error: No such module "Infobox".Template:Template other Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters". Scanner Access Now Easy (SANE) is an open-source application programming interface (API) that provides standardized access to any raster image scanner hardware (flatbed scanner, handheld scanner, video- and still-cameras, frame grabbers, etc.). The SANE API is public domain. It is commonly used on Linux.
Architecture
SANE differs from TWAIN in that it is cleanly separated into frontend and backend (user programs and scanner drivers, respectively). 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.[1] 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 frontends can supply using convenient GUI 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" backend (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a frontend locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" backend passes requests and data between the local frontend and the remote host.
Various types of unsupervised batch scanning are also possible with a minimum of support needed in the backend (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 frontend 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 frontend 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. 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.[2]
NAPS2
NAPS2 is free and open source scanning software for Windows 7+ (x64, x86),[3] macOS 10.15+ (x64, arm64) and Linux (x64, arm64) (GTK 3.20+, glibc 2.27+, libsane). Saves scans PDF, TIFF, JPEG, or PNG. Optical character recognition (OCR) is available using Tesseract.[4]
Simple Scan
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 and is maintained by Robert Ancell of Canonical Ltd. for Linux. Simple Scan was first fielded as part of Ubuntu 10.04 Lucid Lynx and is also used in Lubuntu (until Lubuntu 18.04 LTS) and Xubuntu. It is now part of the GNOME project.[5][6][7][8][9][10]
Skanlite
Skanlite is a simple image scanning application, based on the KSane backend. Kåre Särs is the lead developer.[11] In KDE 4 Skanlite replaced Kooka of KDE 3 as default KDE scanning application.[12]
Skanlite is based on libksane, an interface provided by KDE for SANE libraries to control flatbed scanners.[13] It also works with networked scanners.[14]
SwingSane
SwingSane is a cross-platform, Java front end for SANE, written and maintained by Roland Quast. It is available for Microsoft Windows, Linux, Mac OS X and is licensed under the Apache 2.0 License.[15] The source code for the project can also be adapted for use with an existing Swing application.[16]
XSane
XSane is a graphical front end for SANE written by Oliver Rauch. It is available for Microsoft Windows, Linux, UNIX, and OS/2 and is licensed under the GNU General Public License (GPL).[17] 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.[18]
See also
- Image and Scanner Interface Specification (ISIS) – Open industry standard interface
- TWAIN – Software API for local drivers that are bundled with control GUI
- Windows Image Acquisition (WIA) – Proprietary API from Microsoft
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
- SANE Supported Devices
- |Scanner Access Now Easy - universal driver for eSCL (Apple AirScan) and WSD
Script error: No such module "Navbox".