bounce browser to printer URL and return with station
[koha.git] / labels / label-create-pdf.pl
index 3d7ff1f..edff024 100755 (executable)
@@ -4,24 +4,23 @@
 #
 # 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 2 of the License, or (at your option) any later
-# version.
+# 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.
+# 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.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 
-use strict;
-use warnings;
+use Modern::Perl;
 
-use CGI;
+use CGI qw ( -utf8 );
 use C4::Auth;
 use C4::Debug;
 use C4::Creators;
@@ -45,8 +44,8 @@ $batch_id    = $cgi->param('batch_id') if $cgi->param('batch_id');
 my $template_id = $cgi->param('template_id') || undef;
 my $layout_id   = $cgi->param('layout_id') || undef;
 my $start_label = $cgi->param('start_label') || 1;
-@label_ids   = $cgi->param('label_id') if $cgi->param('label_id');
-@item_numbers  = $cgi->param('item_number') if $cgi->param('item_number');
+@label_ids   = $cgi->multi_param('label_id') if $cgi->param('label_id');
+@item_numbers  = $cgi->multi_param('item_number') if $cgi->param('item_number');
 
 my $items = undef;
 
@@ -88,10 +87,9 @@ sub _calc_next_label_pos {
 sub _print_text {
     my $label_text = shift;
     foreach my $text_line (@$label_text) {
-        my $pdf_font = $pdf->Font($text_line->{'font'});
-        my $line = "BT /$pdf_font $text_line->{'font_size'} Tf $text_line->{'text_llx'} $text_line->{'text_lly'} Td ($text_line->{'line'}) Tj ET";
-    utf8::decode($line);
-        $pdf->Add($line);
+        $pdf->Font($text_line->{'font'});
+        $pdf->FontSize( $text_line->{'font_size'} );
+        $pdf->Text( $text_line->{'text_llx'}, $text_line->{'text_lly'}, $text_line->{'line'} );
     }
 }
 
@@ -140,6 +138,7 @@ foreach my $item (@{$items}) {
                                         barcode_type        => $layout->get_attr('barcode_type'),
                                         printing_type       => 'BIB',
                                         guidebox            => $layout->get_attr('guidebox'),
+                                        oblique_title       => $layout->get_attr('oblique_title'),
                                         font                => $layout->get_attr('font'),
                                         font_size           => $layout->get_attr('font_size'),
                                         callnum_split       => $layout->get_attr('callnum_split'),
@@ -163,6 +162,7 @@ foreach my $item (@{$items}) {
                                         barcode_type        => $layout->get_attr('barcode_type'),
                                         printing_type       => 'BAR',
                                         guidebox            => $layout->get_attr('guidebox'),
+                                        oblique_title       => $layout->get_attr('oblique_title'),
                                         font                => $layout->get_attr('font'),
                                         font_size           => $layout->get_attr('font_size'),
                                         callnum_split       => $layout->get_attr('callnum_split'),
@@ -189,6 +189,7 @@ foreach my $item (@{$items}) {
                                         barcode_type        => $layout->get_attr('barcode_type'),
                                         printing_type       => $layout->get_attr('printing_type'),
                                         guidebox            => $layout->get_attr('guidebox'),
+                                        oblique_title       => $layout->get_attr('oblique_title'),
                                         font                => $layout->get_attr('font'),
                                         font_size           => $layout->get_attr('font_size'),
                                         callnum_split       => $layout->get_attr('callnum_split'),