[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Koha-devel] Problems with barcode generation
From: |
Michael Hafen |
Subject: |
Re: [Koha-devel] Problems with barcode generation |
Date: |
Wed, 23 Aug 2006 17:02:18 -0600 |
I had the same problem. To get the barcodes I had to use a different
function entirely.
I've actually made a lot of changes to this script, but I will post the
relevant bit for your benefit.
------------- CUT --------------
my $zone = length($code) - 5;
my $barcode = $pdf->xo_3of9(-font => $tr, # The font
object to use
-code => $code, # Text to codify
-ext => 1, # extended
character set
-extn => '012345', # Barcode
extension (if it is aplicable)
-umzn => 9+$zone, # Top limit of
the finished bar
-lmzn => 9+$zone, # Bottom limit
of the finished bar
-zone => 3+$zone, # Bars size
-quzn => 0, # Space
destinated for legend
-ofwt => 0.5, # Bars width
-fnsz => 9, # Font size
-text => ''
); # umzn +, lmzn +, zone +7
# Assigns a barcode to $gfx
my $scale = ($labelConfig{'labelWidth'}-2)/$barcode->width();
$gfx->formimage($barcode, $x, $y, $scale);
# Assigns the additional information to the barcode (Legend)
if ($text_under_label) {
my @lines = split("\n",$text_under_label);
$title = $lines[0];
$author = $lines[1];
}
while ($text->advancewidth($title) >
($labelConfig{'labelWidth'} - 2))
{
chop $title;
}
while ($text->advancewidth($author) >
($labelConfig{'labelWidth'} -
2)) {
chop $author;
}
my ($x_adjust_1, $x_adjust_2, $y_adjust) = (0, 0, 0);
if ($text->advancewidth($title) < ($labelConfig{'labelWidth'} -
5)) {
$x_adjust_1 = (($labelConfig{'labelWidth'} - 2) -
$text->advancewidth($title)) / 2;
}
if ($text->advancewidth($author) < ($labelConfig{'labelWidth'}
- 5)) {
$x_adjust_2 = (($labelConfig{'labelWidth'} - 2) -
$text->advancewidth($author)) / 2;
}
$y_adjust = ($labelConfig{'labelHeigth'} - $barcode->height -
18) / 2;
$y_adjust = 5 if ($y_adjust < 0);
$y_adjust += $barcode->height;
$text->translate($x + $x_adjust_1, $y + $y_adjust + 9);
$text->text($title);
$text->translate($x + $x_adjust_2, $y + $y_adjust);
$text->text($author);
------------- CUT --------------
Hope that helps.
--- Begin Message ---
Subject: |
SPAM- [Koha-devel] Problems with barcode generation |
Date: |
Wed, 23 Aug 2006 18:10:09 +0100 |
User-agent: |
Thunderbird 1.5.0.4 (X11/20060614) |
Dear all,f - Numéro d'inventaire
Want to thank Henri-Damien LAURENT to fabulous help!
Now I am trying to generate barcodes.
First I wanna know if "Inventory code" asked to generate the barcode is
the same that we enter when adding an item (f - Numéro d'inventaire in
additem.pl)? Because I give the same number (1000) and it says that
there was any with that code (using Individual Codes in generator). If I
select Continuous Range of Items from 0 to 1000 it proceeds...A bit odd
:). Any ideas?
However it still was not ok. First I had to change some scripts becouse
PDF::API2 has changed a bit and things are not anymore in the same place
(e.g PDF::API::Utils is now PDF::API2::Basic::PDF::Utils). This I
figured out myself. But now I got
Can't locate object method "barcode" via package "PDF::API2::Content" at
/usr/local/koha/intranet/cgi-bin/barcodes/barcodesGenerator.pl line 259
and this one I still couldn't solve. Anyone can help?
_______________________________________________
Koha-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/koha-devel
--- End Message ---