Professional Documents
Culture Documents
Table of Contents
0B
1BIntroduction ............................................................................. 1
1.1
About OCR...................................................................................................................................................... 1
1.2
1.3
1.4
1.5
2.2
2.3
Jump Start....................................................................................................................................................... 5
2.4
2.4.1
2.4.2
2.4.3
2.5
2.5.1
2.5.2
2.5.3
2.5.4
Perform OCR on a certain page from the specified TIFF file ................................... 9
2.5.5
2.6
2.7
3.2
3.3
Jump Start.................................................................................................................................................... 13
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
3.5.3
3.5.4
Perform OCR on a certain page from the specified TIFF file ................................ 17
3.6
3.7
4.2
4.3
Jump Start.................................................................................................................................................... 20
4.4
ii
4.4.1
4.4.2
4.4.3
4.5
4.5.1
4.5.2
4.5.3
4.5.4
Perform OCR on a certain page from the specified TIFF file ................................ 24
4.6
4.7
5.2
5.3
5.4
30BProfessional Services............................................................................................................................. 26
JImageDialog ............................................................................................................................................. 27
6.1.1
Advantages ........................................................................................................................................... 28
6.1.2
6.1.3
6.1.4
Compatibility ....................................................................................................................................... 31
6.1.5
iii
6.2
JImageFileChooser ................................................................................................................................ 31
6.2.1
6.2.2
6.2.3
Compatibility ....................................................................................................................................... 33
6.2.4
iv
1 Introduction
1B
EAN 8 EAN 13
UPC
code 3 of 9
code interleaved 2 of 5
QR code
Windows XP 32bit
Windows XP 64bit
Windows 7 32bit
Windows 7 64bit
Windows 8 32bit
Windows 8 64bit
-2-
MacOS X PowerPC
MacOS X Intel
Linux 32bit
Linux 64bit
Solaris SPARC
Solaris x86
AIX
HP-UX
Croatian
hrvatski jezik
hrv
Czech
etina
ces
Danish
dansk
dan
Dutch
Nederlands
nld
English
English
eng
Finnish
suomi
fin
French
franais
fra
German
Deutsch
deu
Greek
ell
Hungarian magyar
hun
Icelandic
isl
slenska
italiano
ita
Malay
bahasa Melayu
msa
-3-
Maltese
Malti
mlt
Norwegian Norsk
nor
Polish
pol
jzyk polski
Portuguese portugus
por
ron
Russian
rus
Spanish
espaol
spa
Swedish
Svenska
swe
The evaluation version is able to recognize English (eng), Spanish (spa), Portuguese
(por), German (deu) and French (fra). For other languages, for contact us.
-4-
import com.asprise.ocr.Ocr
...
Ocr.setUp(); // one time setup
Ocr ocr = new Ocr(); // create a new OCR engine
ocr.startEngine("eng", Ocr.SPEED_FASTEST); // English
-5-
-6-
The last two lines represents bar code information extract. Note both the format and
content of the barcode are enclosed in '[[ ]]' pairs.
Note that the coordinate information and confidence are available in the output.
Once the OCR done, you can open the PDF output file with any PDF viewer and
perform searches:
-7-
Note recognized text and barcodes are rendered in orange on top of the image. To
make them transparent, you simply set:
Ocr.PROP_PDF_OUTPUT_TEXT_VISIBLE, false
Barcode only:
String s = ocr.recognize(new File[] {new File("test.png")},
Ocr.RECOGNIZE_TYPE_BARCODE, Ocr.OUTPUT_FORMAT_PLAINTEXT);
-8-
The above code OCR the top left part of the image with width 400 pixels and height
200 pixels.
Note 2 means the second page (the page number of the first page is 1).
-9-
http://en.wikipedia.org/wiki/Thread_pool_pattern
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/ExecutorService.html
- 10 -
You need to distribute aocr.jar along with your other jar files.
- 11 -
The asprise-ocr-api project is a library project that provides OCR API access for the
.NET world. You can access it in any C# or Visual Basic project by simply adding a
reference:
- 12 -
using asprise_ocr_api;
AspriseOCR.SetUp();
AspriseOCR ocr = new AspriseOCR();
ocr.StartEngine("eng", AspriseOCR.SPEED_FASTEST);
string s = ocr.Recognize("C:\\path\\img.jpg", -1, -1, -1, -1, -1,
AspriseOCR.RECOGNIZE_TYPE_ALL,
AspriseOCR.OUTPUT_FORMAT_PLAINTEXT);
- 13 -
- 14 -
The last two lines represents bar code information extract. Note both the format and
content of the barcode are enclosed in '[[ ]]' pairs.
Note that the coordinate information and confidence are available in the output.
Once the OCR done, you can open the PDF output file with any PDF viewer and
perform searches:
- 15 -
Note recognized text and barcodes are rendered in orange on top of the image. To
make them transparent, you simply set:
AspriseOCR.PROP_PDF_OUTPUT_TEXT_VISIBLE, "false"
Barcode only:
string s = ocr.Recognize("C:\\path\\img.jpg", -1, -1, -1, -1, -1,
AspriseOCR.RECOGNIZE_TYPE_BARCODE,
AspriseOCR.OUTPUT_FORMAT_PLAINTEXT);
- 16 -
The above code OCR the top left part of the image with width 400 pixels and height
200 pixels.
Note 2 means the second page (the page number of the first page is 1).
- 17 -
You can implement thread pool pattern3 by yourself or you can use Microsofts default
implementation of thread pooling4. Note that each thread must have its own
dedicated OCR engine instance.
http://en.wikipedia.org/wiki/Thread_pool_pattern
http://msdn.microsoft.com/en-us/library/h4732ks0.aspx
- 18 -
The asprise-ocr-api project is a library project that provides OCR API access for the
.NET world. You can access it in any C# or Visual Basic project by simply adding a
reference:
- 19 -
Imports asprise_ocr_api
Private ocr As AspriseOCR
AspriseOCR.SetUp()
ocr = New AspriseOCR()
ocr.StartEngine("eng", AspriseOCR.SPEED_FASTEST)
- 20 -
The last two lines represents bar code information extract. Note both the format and
content of the barcode are enclosed in '[[ ]]' pairs.
Note that the coordinate information and confidence are available in the output.
Once the OCR done, you can open the PDF output file with any PDF viewer and
perform searches:
- 22 -
Note recognized text and barcodes are rendered in orange on top of the image. To
make them transparent, you simply set:
AspriseOCR.PROP_PDF_OUTPUT_TEXT_VISIBLE, "false"
Barcode only:
s = ocr.Recognize("C:\\img.jpg", -1, -1, -1, -1, -1,
AspriseOCR.RECOGNIZE_TYPE_ALL, AspriseOCR.OUTPUT_FORMAT_PLAINTEXT)
- 23 -
The above code OCR the top left part of the image with width 400 pixels and height
200 pixels.
Note 2 means the second page (the page number of the first page is 1).
- 24 -
You can implement thread pool pattern5 by yourself or you can use Microsofts default
implementation of thread pooling6. Note that each thread must have its own
dedicated OCR engine instance.
http://en.wikipedia.org/wiki/Thread_pool_pattern
http://msdn.microsoft.com/en-us/library/h4732ks0.aspx
- 25 -
For premium support service subscribers: your requests will be of our top priority and
your email will be replied within 1 business day. Well send you software update
promptly.
- 26 -
6.1 JImageDialog
JImageDialog is an image acquisition UI component that allows the user to load
images and to perform basic image editing tasks. If you are developing some
applications that require the user to select/edit/input images, then JImageDialog will
make your life extremely easy and more importantly, the user experience will be
improved dramatically.
- 27 -
Let say you want to build an album application, the user is required to supply photos
(i.e. images). You put a button on your panel. When the user click the button,
JImageDialog is brought up now the user can select existing pictures files from his or
her computer or acquire images from digital cameras or scanners. And the user can
edit images before putting it into the album.
6.1.1 Advantages
Multiple image sources supported: local computer, digital cameras, scanners and
the web;
Multiple image formats: read and write BMP, PNG, JPG, GIF, PCT, PSD and many
other formats;
Platform/Virtual machine independent: Any platform, any Java virtual machine
(version 1.3 or above);
Powerful features: rotation, flipping, scaling, clipping, etc.
User friendly as well as developer friendly
The user can load images from local computer or the web, he or she can also acquire
images from digital cameras and scanners. After the image has been loaded, the user
can rotate, clip, flip, and scale the image. The image has been loaded and edited, the
user can save the image or select the image - which will be used in your applications.
Besides using JImageDialog in synchronous mode, you can also use it in:
Asynchronous mode
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
- 29 -
File extensions
*.psd
*.bmp, *.dib
*.cur
*.gif
*.ico
*.jpg, *.jpeg
*.pict, *.pct
*.pcx
*.png
*.ras
*.tif, *tiff
*.tga
*.xbm
*.xpm
READ
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
WRITE
Y
Y
Y
Y
Y
Y
Y
Y
Y
On any Java platforms (version 1.3 or above), JImageDialog supports the above
formats (using its own library to read/write image files). JImageDialog intelligently
selects the best way to read or write files e.g. on Java 1.4, it may invoke ImageIO to
- 30 -
see whether a file can be read or written; if the ImageIO can do the job then
JImageDialog will let it do; otherwise, JImageDialog will use its own library to access
the file.
Note: You can only read/write image files from the JImageDialog UI component with
unlicensed image acquisition UI component package. If you want to access image files
from your Java code and/or to perform other advanced operations, you need to obtain
an affordable license from LAB Asprise!.
6.1.4 Compatibility
All Java runtimes with version 1.3 or above.
jid.jar, JTwain.jar
6.2 JImageFileChooser
JImageFileChooser is an extended JFileChooser that supports image preview and image
information extraction.
- 31 -
When the user clicks an image file, its preview and associated information will be
displayed to assist the user to select the proper image.
image files from your Java code with the package and/or to perform other advanced
operations, you need to obtain an affordable license from LAB Asprise!.
6.2.3 Compatibility
All operating systems; All Java runtimes with version 1.2 or above.
jid.jar
- 33 -
This SDK may contain third-party code. Asprise is required to provide the
following notices. Note, however, that the SDK license that accompanied this
product determines your right to use the Asprise program, including the third-
party software, and the terms contained in the following notices do not change
control systems, and issue tracking systems that are managed by, or on behalf
those rights.
of, the Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
This section is common across all SDKs offered by Asprise. This SDK may
1. Definitions.
License shall mean the terms and conditions for use, reproduction, and
and distribute the Work and such Derivative Works in Source or Object form.
Legal Entity shall mean the union of the acting entity and all other entities
otherwise transfer the Work, where such license applies only to those patent
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, control means (i) the power, direct or
licenses granted to You under this License for that Work shall terminate as of
Source form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source, and
configuration files.
in Source or Object form, provided that You meet the following conditions:
Object form shall mean any form resulting from mechanical transformation
You must give any other recipients of the Work or Derivative Works a copy of
You must cause any modified files to carry prominent notices stating that You
changed the files; and
Work shall mean the work of authorship, whether in Source or Object form,
You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and attribution notices from the
Source form of the Work, excluding those notices that do not pertain to any
below).
Derivative Works shall mean any work, whether in Source or Object form,
Derivative Works that You distribute must include a readable copy of the
that is based on (or derived from) the Work and for which the editorial
notices that do not pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed as part of the
Derivative Works shall not include works that remain separable from, or
merely link (or bind by name) to the interfaces of, the Work and Derivative
along with the Derivative Works; or, within a display generated by the
Works thereof.
not modify the License. You may add Your own attribution notices within
NOTICE text from the Work, provided that such additional attribution
Licensor shall be under the terms and conditions of this License, without any
others
required for reasonable and customary use in describing the origin of the
use, copy, modify, merge, publish, distribute, and/or sell copies of the
in all copies of the Software and that both the above copyright notice(s) and
writing, Licensor provides the Work (and each Contributor provides its
writing, shall any Contributor be liable to You for damages, including any
arising as a result of this License or out of the use or inability to use the Work
(including but not limited to damages for loss of goodwill, work stoppage,
damages.
obligations, You may act only on Your own behalf and on Your sole
responsibility, not on behalf of any other Contributor, and only if You agree
to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
AND CONTRIBUTORS
``AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES,
SHALL ANY
Apache log4j
INCIDENTAL, SPECIAL,
expressed or implied, including, but not limited to, the implied warranties
to the quality and performance of SAX is with you. Should SAX prove
USE, DATA, OR
correction.
TORT (INCLUDING
any copyright holder, or any other party who may modify and/or redistribute
SAX, be liable to you for damages, including any general, special, incidental
(including but not limited to loss of data or data being rendered inaccurate
DAMAGE.
This page includes statements to that effect by David Megginson, who would
that (i) the above copyright notices and this permission notice appear in
have been able to claim copyright for the original work. SAX 1.0
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
Version 1.0 of the Simple API for XML (SAX), created collectively by the
membership of the XML-DEV mailing list, is hereby released into the public
domain.
No one owns SAX: you may use it freely in both commercial and non-
commercial
LIMITATION, ANY
CD-ROM, list the source code in a book, mirror the documentation at your
own
PARTICULAR PURPOSE.
LIABLE FOR
1998-05-11
SAX 2.0
I hereby abandon any property rights to SAX 2.0 (the Simple API for XML),
and
release all of the SAX 2.0 source code, compiled code, and documentation
contained in this distribution into the Public Domain. SAX comes with NO
USE OR PERFORMANCE
OF THIS SOFTWARE.
David Megginson, david@megginson.com
Copyright (C) 1994-1998, Thomas G. Lane.
2000-05-05
SAX is free!
This product includes software Licensed under the Apache License, Version
In fact, its not possible to own a license to SAX, since its been placed in
2.0.
Privacy Policy. For trademark usage, see the Unicode Consortium Name and
applicable law. Except when otherwise stated in writing the copyright holders
and/or other parties provide SAX as is without warranty of any kind, either
A. Unicode Copyright.
from the following: loss of use, data or profits, in connection with the
use, modification or distribution of this information or its derivatives.
earlier), these are found on the back of the title page. The online
code charts carry specific restrictions. All other files, including
online documentation of the core specification for Unicode 6.0 and
later, are covered under these general Terms of Use.
(Trademark
the provisions of the Trademark Policy, which may be changed from time
3. All third party trademarks referenced herein are the property of their
respective owners.
(Nov
1995) and this Agreement. For Software, in accordance with FAR 12-212 or
DFARS 227-7202, as applicable, use, duplication or disclosure by the
Government is subject to the restrictions set forth in this Agreement.
Miscellaneous.
1. Jurisdiction and Venue. This server is operated from a location in the
State of California, United States of America. Unicode makes no
representation that the materials are appropriate for use in other
locations. If you access this server from other locations, you are
responsible for compliance with local laws. This Agreement, all use of
this site and any claims and damages resulting from use of this site are
and/or
The user agrees that any disputes regarding this site shall be resolved
solely in the courts located in Santa Clara County, California. The user
agrees said courts have personal jurisdiction and agree to waive any
right to transfer the dispute to any other forum.
3. Taxes. The user agrees to pay any taxes arising from access to this
We protect your rights with a two-step method: (1) we copyright the library,
and (2) we offer you this license, which gives you legal permission to copy,
distribute and/or modify the library.
in effect.
warranty for the free library. Also, if the library is modified by someone else
and passed on, the recipients should know that what they have is not the
original version, so that the original authors reputation will not be affected by
problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free
program. We wish to make sure that a company cannot effectively restrict the
must be consistent with the full freedom of use specified in this license.
GNU General Public License. This license, the GNU Lesser General Public
License, applies to certain designated libraries, and is quite different from the
[This is the first released version of the Lesser GPL. It also counts
ordinary General Public License. We use this license for certain libraries in
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public Licenses are intended to
therefore permits such linking only if the entire combination fits its criteria of
guarantee your freedom to share and change free software--to make sure the
freedom. The Lesser General Public License permits more lax criteria for
This license, the Lesser General Public License, applies to some specially
We call this license the Lesser General Public License because it does Less to
protect the users freedom than the ordinary General Public License. It also
Foundation and other authors who decide to use it. You can use it too, but we
suggest you first think carefully about whether this license or the ordinary
non-free programs. These disadvantages are the reason we use the ordinary
General Public License is the better strategy to use in any particular case, based
General Public License for many libraries. However, the Lesser license
When we speak of free software, we are referring to freedom of use, not price.
For example, on rare occasions, there may be a special need to encourage the
Our General Public Licenses are designed to make sure that you have the
freedom to distribute copies of free software (and charge for this service if you
To achieve this, non-free programs must be allowed to use the library. A more
wish); that you receive source code or can get it if you want it; that you can
frequent case is that a free library does the same job as widely used non-free
change the software and use pieces of it in new free programs; and that you are
libraries. In this case, there is little to gain by limiting the free library to free
deny you these rights or to ask you to surrender these rights. These restrictions
enables a greater number of people to use a large body of free software. For
translate to certain responsibilities for you if you distribute copies of the library
many more people to use the whole GNU operating system, as well as its
variant, the GNU/Linux operating system.
For example, if you distribute copies of the library, whether gratis or for a fee,
you must give the recipients all the rights that we gave you. You must make
Although the Lesser General Public License is Less protective of the users
sure that they, too, receive or can get the source code. If you link other code
freedom, it does ensure that the user of a program that is linked with the
with the library, you must provide complete object files to the recipients, so
Library has the freedom and the wherewithal to run that program using a
that they can relink them with the library after making changes to the library
and recompiling it. And you must show them these terms so they know their
rights.
The precise terms and conditions for copying, distribution and modification
follow. Pay close attention to the difference between a work based on the
library and a work that uses the library. The former contains code derived
from the library, whereas the latter must be combined with the library in order
faith effort to ensure that, in the event an application does not supply such
to run.
function or table, the facility still operates, and performs whatever part of its
purpose remains meaningful.
MODIFICATION
this function must be optional: if the application does not supply it, the square
party saying it may be distributed under the terms of this Lesser General
Public License (also called this License). Each licensee is addressed as you.
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Library, the distribution of the whole must be on
The Library, below, refers to any such software library or work which has
the terms of this License, whose permissions for other licensees extend to the
been distributed under these terms. A work based on the Library means
entire whole, and thus to each and every part regardless of who wrote it.
either the Library or any derivative work under copyright law: that is to say, a
work containing the Library or a portion of it, either verbatim or with
Thus, it is not the intent of this section to claim rights or contest your rights
to work written entirely by you; rather, the intent is to exercise the right to
modification.)
In addition, mere aggregation of another work not based on the Library with
Source code for a work means the preferred form of the work for making
the Library (or with a work based on the Library) on a volume of a storage or
modifications to it. For a library, complete source code means all the source
distribution medium does not bring the other work under the scope of this
code for all modules it contains, plus any associated interface definition files,
License.
plus the scripts used to control compilation and installation of the library.
3. You may opt to apply the terms of the ordinary GNU General Public
Activities other than copying, distribution and modification are not covered
License instead of this License to a given copy of the Library. To do this, you
by this License; they are outside its scope. The act of running a program using
must alter all the notices that refer to this License, so that they refer to the
the Library is not restricted, and output from such a program is covered only if
ordinary GNU General Public License, version 2, instead of to this License. (If
its contents constitute a work based on the Library (independent of the use of
a newer version than version 2 of the ordinary GNU General Public License
the Library in a tool for writing it). Whether that is true depends on what the
has appeared, then you can specify that version instead if you wish.) Do not
Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Librarys complete
Once this change is made in a given copy, it is irreversible for that copy, so the
source code as you receive it, in any medium, provided that you conspicuously
ordinary GNU General Public License applies to all subsequent copies and
disclaimer of warranty; keep intact all the notices that refer to this License and
to the absence of any warranty; and distribute a copy of this License along
This option is useful when you wish to copy part of the code of the Library
You may charge a fee for the physical act of transferring a copy, and you may
4. You may copy and distribute the Library (or a portion or derivative of it,
under Section 2) in object code or executable form under the terms of Sections
1 and 2 above provided that you accompany it with the complete
2. You may modify your copy or copies of the Library or any portion of it,
thus forming a work based on the Library, and copy and distribute such
modifications or work under the terms of Section 1 above, provided that you
software interchange.
designated place, then offering equivalent access to copy the source code from
b) You must cause the files modified to carry prominent notices stating that
the same place satisfies the requirement to distribute the source code, even
though third parties are not compelled to copy the source along with the
c) You must cause the whole of the work to be licensed at no charge to all
object code.
designed to work with the Library by being compiled or linked with it, is
argument passed when the facility is invoked, then you must make a good
called a work that uses the Library. Such a work, in isolation, is not a
derivative work of the Library, and therefore falls outside the scope of this
License.
designated place, offer equivalent access to copy the above specified materials
from the same place.
However, linking a work that uses the Library with the Library creates an
e) Verify that the user has already received a copy of these materials or that you
the Library), rather than a work that uses the library. The executable is
For an executable, the required form of the work that uses the Library must
include any data and utility programs needed for reproducing the executable
such executables.
When a work that uses the Library uses material from a header file that is
form) with the major components (compiler, kernel, and so on) of the
part of the Library, the object code for the work may be a derivative work of
operating system on which the executable runs, unless that component itself
the Library even though the source code is not. Whether this is true is
especially significant if the work can be linked without the Library, or if the
work is itself a library. The threshold for this to be true is not precisely defined
by law.
If such an object file uses only numerical parameters, data structure layouts
and accessors, and small macros and small inline functions (ten lines or less in
length), then the use of the object file is unrestricted, regardless of whether it is
7. You may place library facilities that are a work based on the Library side-by-
side in a single library together with other library facilities not covered by this
License, and distribute such a combined library, provided that the separate
distribution of the work based on the Library and of the other library facilities
Otherwise, if the work is a derivative of the Library, you may distribute the
object code for the work under the terms of Section 6. Any executables
containing that work also fall under Section 6, whether or not they are linked
a) Accompany the combined library with a copy of the same work based on
the Library, uncombined with any other library facilities. This must be
distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it
work that uses the Library with the Library to produce a work containing
portions of the Library, and distribute that work under terms of your choice,
provided that the terms permit modification of the work for the customers
8. You may not copy, modify, sublicense, link with, or distribute the Library
You must give prominent notice with each copy of the work that the Library is
automatically terminate your rights under this License. However, parties who
used in it and that the Library and its use are covered by this License. You
have received copies, or rights, from you under this License will not have their
must supply a copy of this License. If the work during execution displays
copyright notices, you must include the copyright notice for the Library
among them, as well as a reference directing the user to the copy of this
9. You are not required to accept this License, since you have not signed it.
source code for the Library including whatever changes were used in the work
(or any work based on the Library), you indicate your acceptance of this
(which must be distributed under Sections 1 and 2 above); and, if the work is
License to do so, and all its terms and conditions for copying, distributing or
work that uses the Library, as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified executable
10. Each time you redistribute the Library (or any work based on the Library),
containing the modified Library. (It is understood that the user who changes
the recipient automatically receives a license from the original licensor to copy,
the contents of definitions files in the Library will not necessarily be able to
distribute, link with or modify the Library subject to these terms and
conditions. You may not impose any further restrictions on the recipients
b) Use a suitable shared library mechanism for linking with the Library. A
exercise of the rights granted herein. You are not responsible for enforcing
suitable mechanism is one that (1) uses at run time a copy of the library
already present on the users computer system, rather than copying library
functions into the executable, and (2) will operate properly with a modified
version of the library, if the user installs one, as long as the modified version is
infringement or for any other reason (not limited to patent issues), conditions
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years, to
contradict the conditions of this License, they do not excuse you from the
give the same user the materials specified in Subsection 6a, above, for a charge
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Library at all.
the Library by all those who receive copies directly or indirectly through you,
then the only way you could satisfy both it and this License would be to
It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribute software through any other system and a licensee cannot impose that
choice.
DAMAGES.
holder who places the Library under this License may add an explicit
geographical distribution limitation excluding those countries, so that
The ZBar Bar Code Reader is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser Public License as
such case, this License incorporates the limitation as if written in the body of
this License.
13. The Free Software Foundation may publish revised and/or new versions of
The ZBar Bar Code Reader is distributed in the hope that it will be
the Lesser General Public License from time to time. Such new versions will be
similar in spirit to the present version, but may differ in detail to address new
warranty
problems or concerns.
version number of this License which applies to it and any later version, you
have the option of following the terms and conditions either of that version or
You should have received a copy of the GNU Lesser Public License
of any later version published by the Free Software Foundation. If the Library
along with the ZBar Bar Code Reader; if not, write to the Free
does not specify a license version number, you may choose any version ever
14. If you wish to incorporate parts of the Library into other free programs
whose distribution conditions are incompatible with these, write to the author
to ask for permission. For software which is copyrighted by the Free Software
Foundation, write to the Free Software Foundation; we sometimes make
exceptions for this. Our decision will be guided by the two goals of preserving
the free status of all derivatives of our free software and of promoting the
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
NO WARRANTY
Permission is granted to anyone to use this software for any purpose,
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE,
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
Mark Adler
madler@alumni.caltech.edu