- my $label = C4::Labels::Label->new(
- batch_id => $batch_id,
- item_number => $item->{'item_number'},
- width => $template->get_attr('label_width'),
- height => $template->get_attr('label_height'),
- top_text_margin => $template->get_attr('top_text_margin'),
- left_text_margin => $template->get_attr('left_text_margin'),
- barcode_type => $layout->get_attr('barcode_type'),
- printing_type => $layout->get_attr('printing_type'),
- guidebox => $layout->get_attr('guidebox'),
- font => $layout->get_attr('font'),
- font_size => $layout->get_attr('font_size'),
- callnum_split => $layout->get_attr('callnum_split'),
- justify => $layout->get_attr('text_justify'),
- format_string => $layout->get_attr('format_string'),
- text_wrap_cols => $layout->get_text_wrap_cols(label_width => $template->get_attr('label_width'), left_text_margin => $template->get_attr('left_text_margin')),
- );
- my $label_type = $label->get_label_type;
- if ($label_type eq 'BIB') {
- my $line_spacer = ($label->get_attr('font_size') * 1); # number of pixels between text rows (This is actually leading: baseline to baseline minus font size. Recommended starting point is 20% of font size.).
- my $text_lly = ($lly + ($template->get_attr('label_height') - $template->get_attr('top_text_margin')));
- my $label_text = $label->draw_label_text(
- llx => $llx,
- lly => $text_lly,
- line_spacer => $line_spacer,
- );
- _print_text($label_text);
+ if ($layout->get_attr('printing_type') eq 'ALT') { # we process the ALT style printing type here because it is not an atomic printing type
+ my $label_a = C4::Labels::Label->new(
+ batch_id => $batch_id,
+ item_number => $item->{'item_number'},
+ llx => $llx,
+ lly => $lly,
+ width => $template->get_attr('label_width'),
+ height => $template->get_attr('label_height'),
+ top_text_margin => $template->get_attr('top_text_margin'),
+ left_text_margin => $template->get_attr('left_text_margin'),
+ 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'),
+ justify => $layout->get_attr('text_justify'),
+ format_string => $layout->get_attr('format_string'),
+ text_wrap_cols => $layout->get_text_wrap_cols(label_width => $template->get_attr('label_width'), left_text_margin => $template->get_attr('left_text_margin')),
+ );
+ $pdf->Add($label_a->draw_guide_box) if $layout->get_attr('guidebox');
+ my $label_a_text = $label_a->create_label();
+ _print_text($label_a_text);
+ ($row_count, $col_count, $llx, $lly) = _calc_next_label_pos($row_count, $col_count, $llx, $lly);
+ my $label_b = C4::Labels::Label->new(
+ batch_id => $batch_id,
+ item_number => $item->{'item_number'},
+ llx => $llx,
+ lly => $lly,
+ width => $template->get_attr('label_width'),
+ height => $template->get_attr('label_height'),
+ top_text_margin => $template->get_attr('top_text_margin'),
+ left_text_margin => $template->get_attr('left_text_margin'),
+ 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'),
+ justify => $layout->get_attr('text_justify'),
+ format_string => $layout->get_attr('format_string'),
+ text_wrap_cols => $layout->get_text_wrap_cols(label_width => $template->get_attr('label_width'), left_text_margin => $template->get_attr('left_text_margin')),
+ );
+ $pdf->Add($label_b->draw_guide_box) if $layout->get_attr('guidebox');
+ my $label_b_text = $label_b->create_label();