Utsushi
Community Code Base now lives at
Install / Use
/learn @utsushi/UtsushiREADME
Utsushi - Next Generation Image Acquisition
Copyright (C) 2012-2016 SEIKO EPSON CORPORATION Copyright (C) 2015 Olaf Meeuwissen
SUMMARY
This software provides applications to easily turn hard-copy
documents and imagery into formats that are more amenable to
computer processing.
Included are a native driver for a number of EPSON scanners
and a compatibility driver to interface with software built
around the SANE standard.
LICENSING
This software is distributed under the terms of the GNU General
Public License, version 3 or at your option any later version.
A copy of this license can be found in the 'COPYING' file.
USING THE SOFTWARE
The software can be started from a command-line with the utsushi
command. This will automatically select a suitable application to
control image acquisition and select the default device. The GUI
supports selecting a different device should you want to.
In case you installed from a binary package, chances are that the binary package maintainer integrated the software in the desktop menu system. If so, you can probably start up the GUI from there.
In case you want to automate your image acquisition task, you can use a non-interactive utility for that. Use the '--no-interface' option to prevent the automatic UI selection.
For brief help information, use
$ utsushi help
and for help on the image acquisition applications
$ utsushi help scan
$ utsushi help scan --no-interface
To see which devices are available, use
$ utsushi list
and use any of the displayed devices as an argument to the 'scan' command to select a particular device rather than whatever is the default.
SUPPORTED DEVICES
At present, at least the following EPSON devices are supported:
- DS-40
- DS-410
- DS-510
- DS-520
- DS-535
- DS-560
- DS-575W
- DS-760
- DS-775
- DS-780N
- DS-860
- DS-1630
- DS-5500
- DS-6500
- DS-7500
- DS-50000
- DS-60000
- DS-70000
- EP-10VA Series
- EP-808A Series
- EP-978A3 Series
- ES-400
- ET-2500 Series
- ET-2550 Series
- ET-4500 Series
- ET-4550 Series
- L220/L360 Series
- L365/L366 Series
- L455 Series
- L565/L566 Series
- L655 Series
- PX-M840FX
- PX-M860F
- PX-M884F
- PX-M7050 Series
- PX-M7050FX Series
- WF-4720
- WF-6530 Series
- WF-6590 Series
- WF-8510/8590 Series
- WF-R8590 Series
- XP-220 Series
- XP-230 Series
- XP-235 Series
- XP-332 335 Series
- XP-430 Series
- XP-432 435 Series
- XP-530 Series
- XP-540
- XP-630 Series
- XP-640
- XP-830 Series
- XP-960 Series
NETWORK SUPPORT
Most, if not all, of the above devices can be used via a network
connection. If you want to do so with this software, install the
non-free "networkscan" plugin. This plugin is available via the
EPSON Download Center[1].
[1] http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
OPTICAL CHARACTER RECOGNITION (OCR) SUPPORT
There is also a non-free OCR Engine that can be used to provide
support for automatic document rotation. The same functionality
is available with a recent enough version of Tesseract (3.03 or
later), however.
The non-free OCR Engine can be found at the EPSON Download Center
(see [1] above).
BUILDING/INSTALLING FROM SOURCE
In case you got the source from a git clone command, you need to
run the ./bootstrap script before anything else. Note that this
script assumes you that have the "usual" autotools installed. For
clarity's sake, that is autoconf, automake, autopoint (part
of gettext) and libtool. You will need the autoconf-archive,
patch and gnulib as well.
The names above refer to source packages. Distributions may
have split these in multiple binary packages and you man need
several of those for the ./bootstrap to succeed. In case of
trouble, you may want to use ./install-deps to satisfy all
binary package dependencies in one fell swoop.
See ./install-deps --help for more information.
The ./bootstrap script has a --help option you may find useful
(or not). The script tries to diagnose any problems it encounters
so pay attention to the output. Once ./bootstrap has completed,
things should be ready for the regular "source archive" build that
is documented in the remainder of this section.
Generic installation notes can be found in the 'INSTALL' file. The
./configure script supports the following special options:
--enable-code-coverage
--enable-sane-config
--enable-test-reports
--enable-udev-config
--with-gtkmm
--with-included-boost
--with-jpeg
--with-magick
--with-sane
--with-tiff
See the output of ./configure --help for a complete list and more
information.
If you have a sufficiently recent Boost installed on your system but
./configure fails to find any of its libraries, please specify the
library directory with the --with-boost-libdir option. Something
like:
$ ./configure --with-boost-libdir=/usr/lib/i386-linux-gnu
ought to work. This problem is most likely to manifest itself on a multiarch system.
After you have ./configured the build to taste, all you need to do
is just:
$ make
$ sudo make install
The installation requires administrative privileges, hence the use
of sudo. Other means of obtaining the required privileges may be
used as well.
Before you install you may wish to make sure that the software will work as intended. You can do this with:
$ make check
In case the check detects test failures please do as instructed in the output.
REQUIRED SOFTWARE
In order to be able to build all components and test (and do so in
a variety of configurations) a large number of developer oriented
software packages are needed. If you start making changes in the
build machinery (autoconf, automake and such), you need even more.
To make getting all that software on your system a bit easier, the
sources include a script to install all these packages for you.
See `./install-deps --help` for details.
DEVELOPER NOTES
DIRECTORY STRUCTURE
The build infrastructure relies on a number of 'upstream/' files
courtesy of other software as well as 'include/' files to reduce
code duplication in this package's Makefile.am files.
In addition to an Utsushi "core", the source code contains a fair
number of optional components. The "core" consists of all files
in the 'utsushi/', 'lib/' and 'src/' directories. The optional
components are grouped in subdirectories as follows:
- connexions various ways to communicate with hardware
- drivers
* dbus for drivers running in a separate process [TODO]
* esci support for ESC/I protocol speaking scanners
* mock virtual scanners, useful for demonstration as well
as testing purposes [TODO]
* sane Utsushi API implemented using the SANE API [TODO]
enables use of SANE backends in Utsushi applications
- filters modify image data to taste
- gtkmm GUI toolkit for Utsushi applications using gtkmm
- sane a SANE backend implemented using the Utsushi API
enables use of Utsushi drivers in SANE frontends
Test suites are kept apart from the code they test in respective
'tests/' directories.
API documentation can be found in the 'doc/' directory and can be
updated with the 'html' and 'pdf' `make` targets. Doing this at
the top level source directory will recursively update all of the
available API documentation.
RUNNING DEVELOPMENT CODE
Most of the code can be run without the need to install. Setting
the 'srcdir' environment variable to the directory that holds the
corresponding sources, normally the current directory, activates
special handling of data and configuration file look-up so these
will be taken from the source code tree.
The gtkmm scan application, for example, can be run like so
$ cd src
$ srcdir=. ./scan-gtkmm
You can also execute commands via the `main` program, like so
$ cd src
$ srcdir=. ./main list
in case you want to see a list of available devices. Execution
via `main` is the intended mode of operation once the software is
installed but may get in the way of debugging.
Exercising the SANE utsushi backend is a little more involved as
you have to make the SANE frontends go places where they normally
don't. For 'scanimage', the following ought to work
$ cd sane
$ echo utsushi > dll.conf
$ srcdir=. SANE_CONFIG_DIR=. ../libtool --mode=execute \
-dlopen libsane-utsushi.la scanimage -L
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
