From 44cf8ec67278bd1ab6c7f83a9993f7a5686a9541 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 9 Mar 2024 01:06:44 +0100 Subject: Adding upstream version 0.23.93. Signed-off-by: Daniel Baumann --- README.md | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..0214cfd --- /dev/null +++ b/README.md @@ -0,0 +1,244 @@ +ZBAR BAR CODE READER +==================== + +ZBar Bar Code Reader is an open source software suite for reading bar +codes from various sources, such as video streams, image files and raw +intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, +Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ Code. + +Included with the library are basic applications for decoding captured bar +code images and using a video device (e.g. webcam) as a bar code scanner. +For application developers, language bindings are included for C, C++, +Python 2 and Perl as well as GUI widgets for Qt, GTK and PyGTK 2.0. + +Zbar also supports sending the scanned codes via dbus, allowing its +integration with other applications. + +Check the ZBar home page for the latest release, mailing lists, etc.: + +- + +Tarballs with ZBar can be obtained from: + +- + +Since ZBar version 0.23.90, binaries auto-generated from Github's +Actions workflows are auto-generated for each release: + +- + +They contain binaries for: + +- Ubuntu SID, generated via pbuilder; +- Mac OS; +- Windows, for 4 different configurations: + - 32 bits/64 bits; + - Video for Windows (VfW) or DirectShow (DShow). + +License information can be found in `COPYING`. + +You may find some outdated documentation at the original ZBar's +site at Sourceforge, but please notice that the content there is not +updated for ages: + http://zbar.sourceforge.net/ + + +BUILDING +======== + +See `INSTALL.md` for generic configuration and build instructions. + +Please notice that at least autotools related packages and a +C compiler are needed, in order to generate the configure script. + +So, on Debian, at least those packages are needed: + autoconf autopoint pkg-config libtool gcc make + +If you have installed all needed dependencies, all you need to do is to run: + +``` +autoreconf -vfi +./configure +make +``` + + +* NOTES + + + 1) Currently, we maintain a Continuous Integration build test at + TravisCI: + + + + Due to that, there are scripts meant to test ZBar build on + Linux, Windows and MacOS, that could be helpful. Please see + the `.travis.yml` file, and the corresponding scripts under `travis/`. + + 2) On version 0.23, since the support for gtk3 and python3 are new, + the default is to use gtk2 and python2. + + If you want to use gtk3 and python3, you should have the development + packages for them, and run: +``` +autoreconf -vfi +./configure --with-gtk=auto --with-python=auto +make +``` + + This will make the building system to seek for the latest versions + for gtk and python. + +The scanner/decoder library itself only requires a few standard +library functions which should be available almost anywhere. + +The zbarcam program uses the video4linux API (v4l1 or v4l2) to access +the video device. This interface is part of the linux kernel, a 3.16 +kernel or upper is recommended for full support. More information is +available at: + +- + +`pkg-config` is used to locate installed libraries. You should have +installed `pkg-config` if you need any of the remaining components. +pkg-config may be obtained from: + +- + +The `zbarimg` program uses `ImageMagick` to read image files in many +different formats. You will need at least `ImageMagick` version 6.2.6 +if you want to scan image files. You may also use `GraphicsMagick` +package instead. + +`ImageMagick` may be obtained from: + +- + +Qt Widget +--------- + +The Qt widget requires Qt4 or Qt5. You will need Qt if you would like to +use or develop a Qt GUI application with an integrated bar code +scanning widget. Qt4 may be obtained from: + +- + +Gtk Widget +---------- + +The GTK+ widget requires GTK+-2.x or GTK+3.x. You will need GTK+ if you +would like to use or develop a GTK+ GUI application with an integrated bar +code scanning widget. GTK+ may be obtained from: + +- + +Python widgets +-------------- + +**Python 2 legacy Gtk widget** + +The PyGTK 2.0/pygobject 2.0 wrapper for the GTK+ 2.x widget requires Python 2, +PyGTK. You will need to enable both pygtk2 and gtk2 if you would like to use +or develop a Python 2 GUI application with an integrated bar code scanning +widget. PyGTK may be obtained from: + +- + +**Python 2 or 3 GIR Gtk widget** + +The GObject Introspection (GIR) wrapper for GTK+ widget is compatible with +PyGObject, with works with either Python version 2 or 3. You will need to +enable both Gtk and Python in order to use or develop a Python application +with an integrated bar code scanning and webcam support. In order to build +it, you need the required dependencies for GIR development. The actual +package depends on the distribution. On Fedora, it is `pygobject3-devel`. +On Debian/Ubuntu, it is `libgirepository1.0-dev` and `gir1.2-gtk-3.0`. +While GIR builds with Gtk2, It is strongly recommended to use GTK+ +version 3.x, as there are known issues with version 2.x and GIR, with +will likely make it to fail. A test script can be built and run with: +`make check-gi`. Instructions about how to use are GIR on Python are +available at: + +- + +**Python bindings** + +The Python bindings require Python 2 or 3 and provide only non-GUI functions. +You will need Python and PIL or Pillow if you would like to scan images or +video directly using Python. Python is available from: + +- + +Perl Widget +----------- + +The Perl bindings require Perl (version 5). You will need Perl if you +would like to scan images or video directly using Perl. Perl is +available from: + +- + +If required libraries are not available you may disable building for +the corresponding component using configure (see configure --help). + +The Perl bindings must be built separately after installing the +library. see: + +- `perl/README` + +Java Widget +----------- + +The Java ZBar widget uses Java Native Interface (JNI), meaning that the +widget will contain machine-dependent code. It works with Java version +7 and above. Java open JDK is available from: + +- + +RUNNING +======= + +`make install` will install the library and application programs. Run +`zbarcam-qt` or `zbarcam` to start the video scanner. Use `zbarimg ` +to decode a saved image file. + +Check the manual to find specific options for each program. + +DBUS TESTING +============ + +In order to test if dbus is working, you could use: + + $ dbus-monitor --system interface=org.linuxtv.Zbar1.Code + +or build the test programs with: + + $ make test_progs + +And run: + $ ./test/test_dbus + +With that, running this command on a separate shell: + + $ ./zbarimg/zbarimg examples/code-128.png + CODE-128:https://github.com/mchehab/zbar + scanned 1 barcode symbols from 1 images in 0.01 seconds + +Will produce this output at test_dbus shell window: + + Waiting for Zbar events + Type = CODE-128 + Value = https://github.com/mchehab/zbar + +REPORTING BUGS +============== + +Bugs can be reported on the project page: + +- + +Please include the ZBar version number and a detailed description of +the problem. You'll probably have better luck if you're also familiar +with the concepts from: + +- -- cgit v1.2.3