summaryrefslogtreecommitdiffstats
path: root/perl/ZBar.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl/ZBar.pm')
-rw-r--r--perl/ZBar.pm216
1 files changed, 216 insertions, 0 deletions
diff --git a/perl/ZBar.pm b/perl/ZBar.pm
new file mode 100644
index 0000000..c9c474e
--- /dev/null
+++ b/perl/ZBar.pm
@@ -0,0 +1,216 @@
+#------------------------------------------------------------------------
+# Copyright 2008-2010 (c) Jeff Brown <spadix@users.sourceforge.net>
+#
+# This file is part of the ZBar Bar Code Reader.
+#
+# 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
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# The ZBar Bar Code Reader is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser Public License for more details.
+#
+# You should have received a copy of the GNU Lesser Public License
+# along with the ZBar Bar Code Reader; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301 USA
+#
+# http://sourceforge.net/projects/zbar
+#------------------------------------------------------------------------
+package Barcode::ZBar;
+
+use 5.006;
+use strict;
+use warnings;
+use Carp;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(SPACE BAR
+ version increase_verbosity set_verbosity);
+
+our $VERSION = '0.10';
+
+require XSLoader;
+XSLoader::load('Barcode::ZBar', $VERSION);
+
+package Barcode::ZBar::Error;
+
+use overload '""' => sub { return($_[0]->error_string()) };
+
+1;
+__END__
+
+
+=head1 NAME
+
+Barcode::ZBar - Perl interface to the ZBar Barcode Reader
+
+
+=head1 SYNOPSIS
+
+setup:
+
+ use Barcode::ZBar;
+
+ my $reader = Barcode::ZBar::Processor->new();
+ $reader->init();
+ $reader->set_data_handler(\&my_handler);
+
+scan an image:
+
+ my $image = Barcode::ZBar::Image->new();
+ $image->set_format('422P');
+ $image->set_size(114, 80);
+ $image->set_data($raw_bits);
+ $reader->process_image($image);
+
+scan from video:
+
+ $reader->set_visible();
+ $reader->set_active();
+ $reader->user_wait();
+
+collect results:
+
+ my @symbols = $image->get_symbols();
+ foreach my $sym (@symbols) {
+ print("decoded: " . $sym->get_type() . ":" . $sym->get_data());
+ }
+
+
+=head1 DESCRIPTION
+
+The ZBar Bar Code Reader is a library for scanning and decoding bar
+codes from various sources such as video streams, image files or raw
+intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128,
+Code 93, Code 39, Codabar, Interleaved 2 of 5 and QR Code.
+
+These are the bindings for interacting directly with the library from
+Perl.
+
+
+=head1 REFERENCE
+
+=head2 Functions
+
+=over 4
+
+=item version()
+
+Returns the version of the zbar library as "I<major>.I<minor>".
+
+=item increase_verbosity()
+
+Increases global library debug by one level.
+
+=item set_verbosity(I<level>)
+
+Sets global library debug to the indicated level. Higher numbers give
+more verbosity.
+
+=item parse_config(I<configstr>)
+
+Parse a decoder configuration setting into a list containing the
+symbology constant, config constant, and value to set. See the
+documentation for C<zbarcam>/C<zbarimg> for available configuration
+options.
+
+=back
+
+=head2 Constants
+
+Width stream "color" constants:
+
+=over 4
+
+=item SPACE
+
+Light area or space between bars.
+
+=item BAR
+
+Dark area or colored bar segment.
+
+=back
+
+Decoder configuration constants:
+
+=over 4
+
+=item Config::ENABLE
+
+=item Config::ADD_CHECK
+
+=item Config::EMIT_CHECK
+
+=item Config::ASCII
+
+=item Config::MIN_LEN
+
+=item Config::MAX_LEN
+
+=item Config::POSITION
+
+=item Config::X_DENSITY
+
+=item Config::Y_DENSITY
+
+=back
+
+Symbology modifier constants:
+
+=over 4
+
+=item Modifier::GS1
+
+=item Modifier::AIM
+
+=back
+
+Symbol orientation constants:
+
+=over 4
+
+=item Orient::UNKNOWN
+
+=item Orient::UP
+
+=item Orient::RIGHT
+
+=item Orient::DOWN
+
+=item Orient::LEFT
+
+=back
+
+
+=head1 SEE ALSO
+
+Barcode::ZBar::Processor, Barcode::ZBar::ImageScanner,
+Barcode::ZBar::Image, Barcode::ZBar::Symbol,
+Barcode::ZBar::Scanner, Barcode::ZBar::Decoder
+
+zbarimg(1), zbarcam(1)
+
+http://zbar.sf.net
+
+
+=head1 AUTHOR
+
+Jeff Brown, E<lt>spadix@users.sourceforge.netE<gt>
+
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2008-2010 (c) Jeff Brown E<lt>spadix@users.sourceforge.netE<gt>
+
+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
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+=cut