#!/usr/bin/perl # Copyright 2014 ByWater Solutions # # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 3 of the License, or (at your option) any later # version. # # Koha 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 General Public License for more details. # # You should have received a copy of the GNU General Public License along # with Koha; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use Modern::Perl; use CGI qw(header); use GD::Barcode; use C4::Auth qw(check_cookie_auth); =head1 NAME /cgi-bin/koha/svc/barcode =head1 SYNOPSIS This service generates a PNG barcode image for the requested barcode. =head2 PARAMETERS =over =item I I is the desired barcode. It should be called like: =item I I is the desired barcode type. Possible values are Code39 UPCE UPCA QRcode NW7 Matrix2of5 ITF Industrial2of5 IATA2of5 EAN8 EAN13 COOP2of5 If ommited,it defaults to Code39. =back =head2 EXAMPLES =over =item /cgi-bin/koha/svc/barcode?barcode=123456789 Returns a Code39 barcode image for barcode 123456789 =item /cgi-bin/koha/svc/barcode?barcode=123456789&type=UPCE Returns a UPCE barcode image for barcode 123456789 =cut my $input = new CGI; my ( $auth_status, $sessionID ) = check_cookie_auth( $input->cookie('CGISESSID'), { catalogue => '*' } ); if ( $auth_status ne "ok" ) { exit 0; } binmode(STDOUT); my $type = $input->param('type') || 'Code39'; my $barcode = $input->param('barcode'); my $image; eval { $image = GD::Barcode->new( $type, $barcode )->plot()->png(); }; if ( $@ ) { # problem creating image print header( -status => 500 ); } else { print header('image/png'); print $image; } exit 0; =head1 AUTHOR Kyle M Hall =cut