sane-project-website/intro.html

99 wiersze
4.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>SANE - Introduction</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Henning Meier-Geinitz">
<meta name="keywords" content="sane, scanner, introduction, description, overview">
<meta name="description" content="Introduction into SANE">
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<a href="./" target="_top"><img
src="images/sane.png"
alt="SANE" width="346" height="117" border="0"></a>
</center>
<center>
<h1>SANE - Introduction</h1>
</center>
<hr>
<p>
<em>SANE</em> stands for "Scanner Access Now Easy" and is an application programming interface
(API) that provides standardized access to any raster image scanner hardware (flatbed scanner,
hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The <a href="https://sane-project.gitlab.io/standard/">SANE
API</a> is public domain and its discussion and development is open to everybody. The current
source code is written for UNIX (including GNU/Linux) and is available under the GNU General
Public License (the <em>SANE</em> API is available to proprietary applications and backends as
well, however). More details about the license can be found on <a href="license.html">our
license page</a>. <a href="sane-support.html">Ports to MacOS X, OS/2 and Microsoft Windows</a>
are either already done or in progress.
</p>
<p>
<em>SANE</em> is a universal scanner interface. The value of such a
universal interface is that it allows writing just one driver per image
acquisition device rather than one driver for each device and
application. So, if you have three applications and four devices,
traditionally you'd have had to write 12 different programs. With
<em>SANE</em>, this number is reduced to seven: the three applications
plus the four drivers. Of course, the savings get even bigger as more
and more drivers and/or applications are added.
</p>
<p>
Not only does <em>SANE</em> reduce development time and code duplication,
it also raises the level at which applications can work. As such, it
will enable applications that were previously unheard of in the UNIX
world. While <em>SANE</em> is primarily targeted at a UNIX environment, the
standard has been carefully designed to make it possible to implement
the API on virtually any hardware or operating system.
</p>
<p>
While <em>SANE</em> is an acronym for &ldquo;Scanner Access Now
Easy&rdquo; the hope is of course that <em>SANE</em> is indeed sane in
the sense that it will allow easy implementation of the API while
accommodating all features required by today's scanner hardware and
applications. Specifically, <em>SANE</em> should be broad enough to
accommodate devices such as scanners, digital still and video cameras,
as well as virtual devices like image file filters.
</p>
<p>
If you're familiar with <a href="http://www.twain.org/"
target="_top">TWAIN</a>, you may wonder why there is a need for
<em>SANE</em>. Simply put, TWAIN does not separate the user-interface
from the driver of a device. This, unfortunately, makes it difficult,
if not impossible, to provide network transparent access to image
acquisition devices (which is useful if you have a LAN full of machines,
but scanners connected to only one or two machines; it's obviously also
useful for remote-controlled cameras and such). It also means that any
particular TWAIN driver is pretty much married to a particular GUI API
(be it Win32 or the Mac API). In contrast, <em>SANE</em> cleanly
separates device controls from their representation in a user-interface.
As a result, <em>SANE</em> has no difficulty supporting command-line
driven interfaces or network-transparent scanning. For these reasons,
it is unlikely that there will ever be a <em>SANE</em> backend that can
talk to a TWAIN driver. The converse is no problem though: it is pretty
straight forward to access <em>SANE</em> devices through a TWAIN source.
In summary, if TWAIN had been just a little better designed, there would
have been no reason for <em>SANE</em> to exist, but things being the way
they are, TWAIN simply isn't <em>SANE</em>.
</p>
<hr>
<p>
<a href="./">SANE homepage</a><br>
<a href="imprint.html">Contact</a>
</p>
</body>
</html>