This repository has been archived by the owner on Jun 7, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
199 lines (149 loc) · 6.98 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
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.
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
===============================
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 `./configure`d 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