aisa/libs/modules/pdf.pm

946 lines
31 KiB
Perl
Raw Permalink Normal View History

2025-11-26 09:31:54 +00:00
sub pdf_delete_previous_pdf {
my ($pdfpath) = @_ ;
opendir(DIR, "$pdfpath") or die "cant open Directory $pdfpath: $!\n";
while(defined($folder = readdir(DIR))) {
if (length $folder > 2) {
my ($file,$type) = split(/\./,$folder) ;
if (-e "$pdfpath/$file.pdf"){
unlink ("$pdfpath/$file.pdf") or print "unable to unlink - $pdfpath/$file.pdf : $!";
}
}
}
closedir(DIR) ;
} #------------------------------------------------------------------------------------
sub pdf_initialise {
my ($folder,$file,$title) = @_ ;
my $pdf_file = "$folder/$file";
$pdf = PDF::API2 -> new(-file => $pdf_file);
%font = (
Helvetica => {
Oblique => $pdf->corefont('Helvetica-Oblique', -encoding => 'latin1'),
Bold => $pdf->corefont('Helvetica-Bold', -encoding => 'latin1'),
Normal => $pdf->corefont('Helvetica', -encoding => 'latin1'),
},
Verdana => {
Bold => $pdf->corefont('Verdana-Bold', -encoding => 'Western'),
Normal => $pdf->corefont('Verdana', -encoding => 'Western'),
},
Courier => {
Bold => $pdf->corefont('Courier-Bold', -encoding => 'latin1'),
Normal => $pdf->corefont('Courier', -encoding => 'latin1'),
},
);
$pdf->info(
'Author' => "ITV",
'Creator' => "ITV",
'Producer' => "ITV",
'Title' => $title,
'Subject' => $title,
'Keywords' => $title
);
} #-------------------------------------------------------------------------------
sub pdf_initialise_page {
if ($layout eq 'landscape'){
$page = $pdf->page;
$page->mediabox(297/mm, 210/mm);
}
elsif ($layout eq 'label'){
$page = $pdf->page;
$page->mediabox(100/mm, 100/mm);
}
else
{
$page = $pdf->page;
$page->mediabox(210/mm, 297/mm);
}
$small_oblique_text = $page->text;
$small_oblique_text->font( $font{'Helvetica'}{'Oblique'}, 8/pt );
$small_oblique_text->fillcolor( 'black' );
$medium_oblique_text = $page->text;
$medium_oblique_text->font( $font{'Helvetica'}{'Oblique'}, 10/pt );
$medium_oblique_text->fillcolor( 'black' );
$bar_head_bold_text = $page->text;
$bar_head_bold_text->font( $font{'Helvetica'}{'Bold'}, 13/pt );
$bar_head_bold_text->fillcolor( 'white' );
$xx_large_bold_text = $page->text;
$xx_large_bold_text->font( $font{'Helvetica'}{'Bold'}, 16/pt );
$xx_large_bold_text->fillcolor( 'black' );
$xxx_large_bold_text = $page->text;
$xxx_large_bold_text->font( $font{'Helvetica'}{'Bold'}, 24/pt );
$xxx_large_bold_text->fillcolor( 'black' );
$xx_large_italic_text = $page->text;
$xx_large_italic_text->font( $font{'Helvetica'}{'Oblique'}, 16/pt );
$xx_large_italic_text->fillcolor( 'black' );
$xx_large_text = $page->text;
$xx_large_text->font( $font{'Helvetica'}{'Normal'}, 16/pt );
$xx_large_text->fillcolor( 'black' );
$x_large_bold_text = $page->text;
$x_large_bold_text->font( $font{'Helvetica'}{'Bold'}, 14/pt );
$x_large_bold_text->fillcolor( 'black' );
$x_large_italic_text = $page->text;
$x_large_italic_text->font( $font{'Helvetica'}{'Oblique'}, 14/pt );
$x_large_italic_text->fillcolor( 'black' );
$x_large_text = $page->text;
$x_large_text->font( $font{'Helvetica'}{'Normal'}, 14/pt );
$x_large_text->fillcolor( 'black' );
$large_bold_text = $page->text;
$large_bold_text->font( $font{'Helvetica'}{'Bold'}, 12/pt );
$large_bold_text->fillcolor( 'black' );
$large_italic_text = $page->text;
$large_italic_text->font( $font{'Helvetica'}{'Oblique'}, 12/pt );
$large_italic_text->fillcolor( 'black' );
$large_text = $page->text;
$large_text->font( $font{'Helvetica'}{'Normal'}, 12/pt );
$large_text->fillcolor( 'black' );
$medium_bold_text = $page->text;
$medium_bold_text->font( $font{'Helvetica'}{'Bold'}, 9.5/pt );
$medium_bold_text->fillcolor( 'black' );
$medium_italic_text = $page->text;
$medium_italic_text->font( $font{'Helvetica'}{'Oblique'}, 10/pt );
$medium_italic_text->fillcolor( 'black' );
$medium_text = $page->text;
$medium_text->font( $font{'Helvetica'}{'Normal'}, 9/pt );
$medium_text->fillcolor( 'black' );
$medium_red_bold_text = $page->text;
$medium_red_bold_text->font( $font{'Helvetica'}{'Bold'}, 8/pt );
$medium_red_bold_text->fillcolor( 'red' );
$small_text = $page->text;
$small_text->font( $font{'Helvetica'}{'Normal'}, 8/pt );
$small_text->fillcolor( 'black' );
$small_blue_text = $page->text;
$small_blue_text->font( $font{'Helvetica'}{'Normal'}, 8/pt );
$small_blue_text->fillcolor( 'blue' );
$small_bold_text = $page->text;
$small_bold_text->font( $font{'Helvetica'}{'Bold'}, 8/pt );
$small_bold_text->fillcolor( 'black' );
$small_italic_text = $page->text;
$small_italic_text->font( $font{'Helvetica'}{'Oblique'}, 8/pt );
$small_italic_text->fillcolor( 'black' );
$tiny_text = $page->text;
$tiny_text->font( $font{'Helvetica'}{'Normal'}, 7/pt );
$tiny_text->fillcolor( 'black' );
$tiny_bold_text = $page->text;
$tiny_bold_text->font( $font{'Helvetica'}{'Bold'}, 7/pt );
$tiny_bold_text->fillcolor( 'black' );
$tiny_italic_text = $page->text;
$tiny_italic_text->font( $font{'Helvetica'}{'Oblique'}, 7/pt );
$tiny_italic_text->fillcolor( 'black' );
$grey_text_above_right = $page -> text;
$grey_text_above_right -> font($font{'Helvetica'}{'Normal'}, 9/pt);
$grey_text_above_right -> fillcolor('#808080');
$small_bold_text_white = $page->text;
$small_bold_text_white->font( $font{'Helvetica'}{'Bold'}, 8/pt );
$small_bold_text_white->fillcolor( 'white' );
$small_medium_bold_text_white = $page->text;
$small_medium_bold_text_white->font( $font{'Helvetica'}{'Bold'}, 9/pt );
$small_medium_bold_text_white->fillcolor( 'white' );
$medium_bold_text_white = $page->text;
$medium_bold_text_white->font( $font{'Helvetica'}{'Bold'}, 10/pt );
$medium_bold_text_white->fillcolor( 'white' );
$large_bold_text_white = $page->text;
$large_bold_text_white->font( $font{'Helvetica'}{'Bold'}, 12/pt );
$large_bold_text_white->fillcolor( 'white' );
$medium_green_text = $page->text;
$medium_green_text->font( $font{'Helvetica'}{'Normal'}, 10/pt );
$medium_green_text->fillcolor( 'green' );
if ($blue_box) {
$up = 292 ;
&pdf_box_block_top(5,205,'#009bc8') ; # start block -------------------------------------
}
if ($inner_blue_box) {
$up = 287 ;
$top = $up;
&pdf_box_block_top($blocks[1],200,'#009bc8') ; # start block -------------------------------------
}
} #-------------------------------------------------------------------------------
sub finish_pdf {
$pdf->save;
$pdf->end();
} #-------------------------------------------------------------------------------
sub pdf_page_header {
$page_num++ ;
# my $image1 = $page->gfx(1) ;
# my $image1_thumb = "$htmlpath/img/pdf_logo.jpg";
# $pdf_image1_file = $pdf->image_jpeg($image1_thumb);
# $image1->image($pdf_image1_file, $across/mm, $up/mm, 80/mm, 19/mm);
my $image1 = $page->gfx(1) ;
my $image1_thumb = "$htmlpath/img/pdf_logo.png";
$pdf_image1_file = $pdf->image_png($image1_thumb);
$image1->image($pdf_image1_file, 10/mm, $up/mm, 90/mm, 29/mm);
$up+=26 ;
&pdf_grey_text_above_right (198,$up,"$useropts{company}") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"Co Reg: $useropts{co_reg}") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"Vat Reg: $useropts{vat_nr}") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"$useropts{address1}") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"$useropts{address2}, $useropts{address3}, $useropts{city}") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"South Africa") ;
&pdf_nl_s;
&pdf_grey_text_above_right (198,$up,"Tel: $useropts{tel}") ;
&pdf_nl_s;
} #-------------------------------------------------------------------------------
sub pdf_footer {
$up = 10 ;
&pdf_black_line ;
&pdf_tiny_text (50, 5, "Johannesburg: $useropts{tel}, Email: $useropts{email}") ;
} #-------------------------------------------------------------------------------
sub pdf_text_block {
my ($along,$text_block,$tlock_length,$grid) = @_ ;
my $lines = 1;
# $max_text_length = 120 unless $max_text_length ;
$text_block =~ s/\n/ <br>/g;
$text_block = substr($text_block,0,-4) if substr($text_block,-4,4) eq '<br>' ;
my @words_array = split (/ /, $text_block) ;
my $wrapped_line = '' ;
my $block_start_up = $up ;
my $tlock_length_orig = $tlock_length ;
my $word_cnt = 0 ;
foreach my $word (@words_array) {
my $word_length = length($word) ;
my $wrapped_line_length = length($wrapped_line) ;
$tlock_length-- if $word eq uc $word ;
$word_length -= 4 if $word =~ /<br>/ ;
if (($wrapped_line_length + $word_length) > $tlock_length or $word =~ /<br>/) {
$word =~ s/<br>//g if $word =~ /<br>/ ;
$tlock_length = $tlock_length_orig ;
&pdf_text_block_line($along,$grid,$wrapped_line) ;
if ($grid == 1 or $grid == 2) {
&pdf_nl_gr ;
} elsif ($grid == 6) {
$up -= 3.25 ;
} else {
&pdf_nl_s ;
}
$lines++;
$wrapped_line = '' ;
}
$word_cnt++ ;
$wrapped_line .= $word . ' ' ;
}
&pdf_text_block_line($along,$grid,$wrapped_line) ;
if ($grid == 2) {
&pdf_nl_t;
}
elsif ($grid == 1) {
$up = $block_start_up ;
}
elsif ($grid == 5) {
&pdf_nl_gr;
}
elsif ($grid == 6) {
$up -= 1.25 ;
} else {
&pdf_nl_s;
#$up = $up - 8;
}
return ($lines) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_text_block_line {
my ($along,$grid,$wrapped_line) = @_ ;
if ($grid == 1) {
&pdf_tiny_text ($along,$up,$wrapped_line) ;
}
elsif ($grid == 2) {
&pdf_tiny_bold_text ($along,$up,$wrapped_line) ;
}
elsif ($grid == 3) {
&pdf_medium_text ($along,$up,$wrapped_line) ;
}
elsif ($grid == 4) {
&pdf_small_bold_text ($along,$up,$wrapped_line) ;
}
else
{
&pdf_small_text ($along,$up,$wrapped_line) ;
}
} #-------------------------------------------------------------------------------
sub pdf_text_center {
my ($text,$along,$colwidth) = @_ ;
my $width = $tiny_text->advancewidth($text);
$width-=$colwidth ;
$tiny_text->translate( $along/mm, $up/mm );
$tiny_text->text($text,-indent=>-($width/2));
} #----------------------------------------------------------------------------------------------------
sub pdf_check_value_of_up {
my ($value) = @_ ;
if ($up < $value) {
if ($blue_box) {
$up=5;
&pdf_box_block_bottom(5,205,'#009bc8') ; # end block -------------------------------------
}
if ($inner_blue_box) {
$up=10;
&vertical_lines_inner_box;
&pdf_box_block_bottom($blocks[1],200,'#009bc8') ; # end block -------------------------------------
}
&pdf_initialise_page ;
if ($layout eq 'landscape') {
$up = 195 ;
$across = 1 ;
&pdf_black_line(10,$up,287,$up) ; # horizontal
}
elsif ($label) {
$label_height = '' ;
$up = 287 ;
}
else
{
$up = 272 ;
$across = 1 ;
}
# &pdf_page_header ;
}
} #----------------------------------------------------------------------------------------------------
sub pdf_nl_tt {
$up = $up - 2 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl_gr {
$up = $up - 2.7 ;
} #-------------------------------------------------------------------------------
sub pdf_nl_t {
$up = $up - 3 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl_s {
$up = $up - 4 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl {
$up = $up - 5 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl_gap_1 {
$up = $up - 6 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl_gap_2 {
$up = $up - 7 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_nl_gap_3 {
$up = $up - 8 ;
# &pdf_check_value_of_up(20) ;
} #-------------------------------------------------------------------------------
sub pdf_dashed_line {
my ($start,$length) = @_ ;
unless ($start) { $start = 10 ; }
unless ($length) { $length = 200 ; }
my $dashed_line = $page->gfx(1);
$dashed_line->strokecolor( 'black' );
$dashed_line->linewidth( '0.5' );
$dashed_line->linedash(3,4);
$dashed_line->move($start/mm,$up/mm);
$dashed_line->line($length/mm,$up/mm);
$dashed_line->stroke;
} #-------------------------------------------------------------------------------
sub pdf_grey_line {
my ($start,$end) = @_ ;
my $grey_line = $page->gfx(1);
$grey_line->strokecolor( 'grey' );
$grey_line->linewidth( '0.8' );
$grey_line->linedash();
$grey_line->move( $start/mm, ($up/mm) ); $grey_line->line($end/mm, ($up/mm) ); $grey_line->stroke;
} #-------------------------------------------------------------------------------
sub pdf_black_line {
my ($x1,$y1,$x2,$y2) = @_ ;
unless ($x1) { $x1 = 10 ; }
unless ($y1) { $y1 = $up ; }
unless ($x2) { $x2 = 200 ; }
unless ($y2) { $y2 = $up ; }
my $pdf_black_line = $page->gfx(1);
$pdf_black_line->strokecolor( 'black' );
$pdf_black_line->linewidth( '0.5' );
$pdf_black_line->linedash();
$pdf_black_line->move($x1/mm,$y1/mm);
$pdf_black_line->line($x2/mm,$y2/mm);
$pdf_black_line->stroke;
} #-------------------------------------------------------------------------------
sub pdf_bar {
my ($x1,$y1,$x2,$y2,$cl,$tx,$lw,$txa,$size,$text_color,$cnt_lines,$max_text_length) = @_ ; # &pdf_bar(10,$up,200,$up,'#009bc8','Quote',5) ;
unless ($x1) { $x1 = 10 ; }
unless ($y1) { $y1 = $up ; }
unless ($x2) { $x2 = 200 ; }
unless ($y2) { $y2 = $up ; }
unless ($cl) { $cl = 'black' ; }
unless ($lw) { $lw = 5 ; }
# unless ($txcl) { $txcl = 'white' ; }
my $pdf_black_line = $page->gfx(1);
$pdf_black_line->strokecolor($cl);
$pdf_black_line->linewidth($lw);
$pdf_black_line->linedash();
$pdf_black_line->move($x1/mm,$y1/mm);
$pdf_black_line->line($x2/mm,$y2/mm);
$pdf_black_line->stroke;
if (not $size and not $text_color) { &pdf_bar_head_bold_text($txa,$up-1.5,$tx) ; } # default to large text
elsif ($size eq 'med' and not $text_color) { &pdf_medium_white_text_bold($txa,$up-1,$tx) ; }
elsif ($size eq 'small' and not $text_color) { &pdf_small_medium_white_text_bold($txa,$up-1,$tx) ; }
elsif ($size eq 'med_right' and not $text_color) { &pdf_medium_white_text_bold_right($txa,$up-1,$tx) ; } # medium text
elsif ($size eq 'small_right' and not $text_color) { &pdf_small_medium_white_text_bold_right($txa,$up-1,$tx) ; }
elsif ($size eq 'small' and $text_color eq 'small_black' and ($cnt_lines == 1 or not $cnt_lines)) { &pdf_small_text($txa,$up,$tx) ; }
elsif ($size eq 'small' and $text_color eq 'small_black' and $cnt_lines >= 1) { &pdf_text_block($txa,$tx,$max_text_length,6) ; }
} #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------ added by handre
sub pdf_extra_thin_black_line {
my ($x1,$y1,$x2,$y2,$color) = @_ ;
$color = 'black' if not $color ; # $color = '#009bc8' ;
unless ($x1) { $x1 = 10 ; }
unless ($y1) { $y1 = $up ; }
unless ($x2) { $x2 = 200 ; }
unless ($y2) { $y2 = $up ; }
my $pdf_black_line = $page->gfx(1);
$pdf_black_line->strokecolor($color);
$pdf_black_line->linewidth( '0.5' );
$pdf_black_line->linedash();
$pdf_black_line->move($x1/mm,$y1/mm);
$pdf_black_line->line($x2/mm,$y2/mm);
$pdf_black_line->stroke;
} #-------------------------------------------------------------------------------
sub pdf_thin_box_block_top {
my ($st,$en,$color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
$box_start{$st} = $up ;
&pdf_extra_thin_black_line($st,$up,$en,$up,$color) ; # horizontal
} #-------------------------------------------------------------------------------
sub pdf_thin_box_block_bottom {
my ($st,$en,$color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
&pdf_extra_thin_black_line($st,$up,$en,$up,$color) ; # horizontal
&pdf_extra_thin_black_line ($st,$box_start{$st},$st,$up,$color) ; # vertical
&pdf_extra_thin_black_line ($en,$box_start{$st},$en,$up,$color) ; # vertical
} #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------------- added by handre
sub pdf_thin_black_line {
my ($x1,$y1,$x2,$y2,$color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
unless ($x1) { $x1 = 10 ; }
unless ($y1) { $y1 = $up ; }
unless ($x2) { $x2 = 200 ; }
unless ($y2) { $y2 = $up ; }
my $pdf_black_line = $page->gfx(1);
$pdf_black_line->strokecolor($color);
$pdf_black_line->linewidth( '1.5' );
$pdf_black_line->linedash();
$pdf_black_line->move($x1/mm,$y1/mm);
$pdf_black_line->line($x2/mm,$y2/mm);
$pdf_black_line->stroke;
} #-------------------------------------------------------------------------------
sub pdf_curr_symbols {
$curr_symb{ZAR} = 'R';
$curr_symb{USD} = '$';
# $curr_symb{GBP} = '£';
$curr_symb{GBP} = 'GBP';
# $curr_symb{EUR} = '€';
$curr_symb{EUR} = 'EUR';
} #------------------------------------------------------------------------------------
sub pdf_box_block_top {
my ($st,$en,$color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
$box_start{$st} = $up ;
&pdf_thin_black_line($st,$up,$en,$up,$color) ; # horizontal
} #-------------------------------------------------------------------------------
sub pdf_box_block_bottom {
my ($st,$en,$color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
&pdf_thin_black_line($st,$up,$en,$up,$color) ; # horizontal
&pdf_thin_black_line ($st,$box_start{$st},$st,$up,$color) ; # vertical
&pdf_thin_black_line ($en,$box_start{$st},$en,$up,$color) ; # vertical
} #-------------------------------------------------------------------------------
sub pdf_rounded_half_page_block_top {
my ($color) = @_ ; unless ($color) { $color = 'black' ; } # $color = '#009bc8' ;
$box_start = $up ;
$pdf_rounded_half_page_block = $page->gfx(1);
$pdf_rounded_half_page_block->strokecolor( 'black' );
$pdf_rounded_half_page_block->linewidth( '0.5' );
$pdf_rounded_half_page_block->linedash();
$pdf_rounded_half_page_block->move(14/mm,($up/mm) );
$pdf_rounded_half_page_block->line(196/mm,($up/mm) );
$curve = $up-4 ;
$pdf_rounded_half_page_block->curve(196/mm,($up/mm),200/mm,($up/mm),200/mm,($curve/mm)) ;
$up-=4 ;
} #-------------------------------------------------------------------------------
sub pdf_rounded_half_page_block_rest {
$box_up = $up + 3 ;
$pdf_rounded_half_page_block->line(200/mm,($box_up/mm) );
$curve = $box_up-4 ;
$pdf_rounded_half_page_block->curve(200/mm,($box_up/mm),200/mm,($curve/mm),196/mm,($curve/mm)) ;
$box_up-=4 ;
$pdf_rounded_half_page_block->move(196/mm,($box_up/mm) );
$pdf_rounded_half_page_block->line(14/mm,($box_up/mm) );
$curve = $box_up+4 ;
$pdf_rounded_half_page_block->curve(14/mm,($box_up/mm),10/mm,($box_up/mm),10/mm,($curve/mm)) ;
$box_up+=4 ;
$pdf_rounded_half_page_block->move(10/mm,($box_up/mm) );
$box_up = $box_start-4 ;
$pdf_rounded_half_page_block->line(10/mm,($box_up/mm) );
$curve = $box_up+4 ;
$pdf_rounded_half_page_block->curve(10/mm,($box_up/mm),10/mm,($curve/mm),14/mm,($curve/mm)) ;
$pdf_rounded_half_page_block->stroke;
} #-------------------------------------------------------------------------------
# sub pdf_rounded_half_page_block {
# my $pdf_rounded_half_page_block = $page->gfx(1);
# $pdf_rounded_half_page_block->strokecolor( 'black' );
# $pdf_rounded_half_page_block->linewidth( '0.5' );
# $pdf_rounded_half_page_block->linedash();
# $pdf_rounded_half_page_block->move(14/mm,($up/mm) );
# $pdf_rounded_half_page_block->line(196/mm,($up/mm) );
# $curve = $up-4 ;
# $pdf_rounded_half_page_block->curve(196/mm,($up/mm),200/mm,($up/mm),200/mm,($curve/mm)) ;
# $up-=4 ;
# $pdf_rounded_half_page_block->move(200/mm,($up/mm) );
# $up-=106 ;
# $pdf_rounded_half_page_block->line(200/mm,($up/mm) );
# $curve = $up-4 ;
# $pdf_rounded_half_page_block->curve(200/mm,($up/mm),200/mm,($curve/mm),196/mm,($curve/mm)) ;
# $up-=4 ;
# $pdf_rounded_half_page_block->move(196/mm,($up/mm) );
# $pdf_rounded_half_page_block->line(14/mm,($up/mm) );
# $curve = $up+4 ;
# $pdf_rounded_half_page_block->curve(14/mm,($up/mm),10/mm,($up/mm),10/mm,($curve/mm)) ;
# $up+=4 ;
# $pdf_rounded_half_page_block->move(10/mm,($up/mm) );
# $up+=106 ;
# $pdf_rounded_half_page_block->line(10/mm,($up/mm) );
# $curve = $up+4 ;
# $pdf_rounded_half_page_block->curve(10/mm,($up/mm),10/mm,($curve/mm),14/mm,($curve/mm)) ;
# $pdf_rounded_half_page_block->stroke;
# $up-=110 ;
# } #-------------------------------------------------------------------------------
sub pdf_xx_large_text {
my ($along, $up, $text) = @_ ; $xx_large_text->translate( $along/mm, $up/mm ); $xx_large_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_xxx_large_bold_text {
my ($along, $up, $text) = @_ ; $xxx_large_bold_text->translate( $along/mm, $up/mm ); $xxx_large_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_xx_large_bold_text {
my ($along, $up, $text) = @_ ; $xx_large_bold_text->translate( $along/mm, $up/mm ); $xx_large_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_xx_large_italic_text {
my ($along, $up, $text) = @_ ; $xx_large_italic_text->translate( $along/mm, $up/mm ); $xx_large_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_x_large_text {
my ($along, $up, $text) = @_ ; $x_large_text->translate( $along/mm, $up/mm ); $x_large_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_x_large_bold_text {
my ($along, $up, $text) = @_ ; $x_large_bold_text->translate( $along/mm, $up/mm ); $x_large_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_x_large_italic_text {
my ($along, $up, $text) = @_ ; $x_large_italic_text->translate( $along/mm, $up/mm ); $x_large_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_large_text {
my ($along, $up, $text) = @_ ; $large_text->translate( $along/mm, $up/mm ); $large_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_large_bold_text {
my ($along, $up, $text) = @_ ; $large_bold_text->translate( $along/mm, $up/mm ); $large_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_large_italic_text {
my ($along, $up, $text) = @_ ; $large_italic_text->translate( $along/mm, $up/mm ); $large_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_text {
my ($along, $up, $text) = @_ ; $medium_text->translate( $along/mm, $up/mm ); $medium_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_bold_text {
my ($along, $up, $text) = @_ ; $medium_bold_text->translate( $along/mm, $up/mm ); $medium_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_italic_text {
my ($along, $up, $text) = @_ ; $medium_italic_text->translate( $along/mm, $up/mm ); $medium_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_bar_head_bold_text {
my ($along, $up, $text) = @_ ; $bar_head_bold_text->translate( $along/mm, $up/mm ); $bar_head_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_red_bold_text {
my ($along, $up, $text) = @_ ; $medium_red_bold_text->translate( $along/mm, $up/mm ); $medium_red_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_bold_text_right {
my ($along, $up, $text) = @_ ; $medium_bold_text->translate( $along/mm, $up/mm ) ; $medium_bold_text->text_right( $text ) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_small_text {
my ($along, $up, $text) = @_ ; $small_text->translate( $along/mm, $up/mm ); $small_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_small_blue_text {
my ($along, $up, $text) = @_ ; $small_blue_text->translate( $along/mm, $up/mm ); $small_blue_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_small_bold_text {
my ($along, $up, $text) = @_ ; $small_bold_text->translate( $along/mm, $up/mm ); $small_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_small_italic_text {
my ($along, $up, $text) = @_ ; $small_italic_text->translate( $along/mm, $up/mm ); $small_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_small_text_right {
my ($along, $up, $text) = @_ ; $small_text->translate( $along/mm, $up/mm ) ; $small_text->text_right( $text ) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_small_bold_text_right {
my ($along, $up, $text) = @_ ; $small_bold_text->translate( $along/mm, $up/mm ) ; $small_bold_text->text_right( $text ) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_tiny_text {
my ($along, $up, $text) = @_ ; $tiny_text->translate( $along/mm, $up/mm ); $tiny_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_tiny_bold_text {
my ($along, $up, $text) = @_ ; $tiny_bold_text->translate( $along/mm, $up/mm ); $tiny_bold_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_tiny_italic_text {
my ($along, $up, $text) = @_ ; $tiny_italic_text->translate( $along/mm, $up/mm ); $tiny_italic_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_tiny_text_right {
my ($along, $up, $text) = @_ ; $tiny_text->translate( $along/mm, $up/mm ) ; $tiny_text->text_right( $text ) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_tiny_bold_text_right {
my ($along, $up, $text) = @_ ; $tiny_bold_text->translate( $along/mm, $up/mm ) ; $tiny_bold_text->text_right( $text ) ;
} #----------------------------------------------------------------------------------------------------
sub pdf_small_white_text_bold {
my ($along, $up, $text) = @_ ; $small_bold_text_white->translate( $along/mm, $up/mm ); $small_bold_text_white->text( $text );
} #-------------------------------------------------------------------------------
sub pdf_small_medium_white_text_bold {
my ($along, $up, $text) = @_ ; $small_medium_bold_text_white->translate( $along/mm, $up/mm ); $small_medium_bold_text_white->text( $text );
} #-------------------------------------------------------------------------------
sub pdf_medium_white_text_bold {
my ($along, $up, $text) = @_ ; $medium_bold_text_white->translate( $along/mm, $up/mm ); $medium_bold_text_white->text( $text );
} #-------------------------------------------------------------------------------
sub pdf_large_white_text_bold {
my ($along, $up, $text) = @_ ; $large_bold_text_white->translate( $along/mm, $up/mm ); $large_bold_text_white->text( $text );
} #-------------------------------------------------------------------------------
sub pdf_grey_text_above_right {
my ($along, $up, $text) = @_ ; $grey_text_above_right->translate( $along/mm, $up/mm ); $grey_text_above_right->text_right( $text );
} #-------------------------------------------------------------------------------
sub pdf_small_white_text_bold_right {
my ($along, $up, $text) = @_ ; $small_bold_text_white->translate( $along/mm, $up/mm ); $small_bold_text_white->text_right( $text );
} #-------------------------------------------------------------------------------
sub pdf_small_medium_white_text_bold_right {
my ($along, $up, $text) = @_ ; $small_medium_bold_text_white->translate( $along/mm, $up/mm ); $small_medium_bold_text_white->text_right( $text );
} #-------------------------------------------------------------------------------
sub pdf_medium_white_text_bold_right {
my ($along, $up, $text) = @_ ; $medium_bold_text_white->translate( $along/mm, $up/mm ); $medium_bold_text_white->text_right( $text );
} #-------------------------------------------------------------------------------
sub pdf_large_white_text_bold_right {
my ($along, $up, $text) = @_ ; $large_bold_text_white->translate( $along/mm, $up/mm ); $large_bold_text_white->text_right( $text );
} #-------------------------------------------------------------------------------
sub pdf_small_oblique_text {
my ($along, $up, $text) = @_ ; $small_oblique_text->translate( $along/mm, $up/mm ); $small_oblique_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_oblique_text {
my ($along, $up, $text) = @_ ; $medium_oblique_text->translate( $along/mm, $up/mm ); $medium_oblique_text->text( $text );
} #----------------------------------------------------------------------------------------------------
sub pdf_medium_green_text {
my ($along, $up, $text) = @_ ; $medium_green_text->translate( $along/mm, $up/mm ); $medium_green_text->text( $text );
} #----------------------------------------------------------------------------------------------------
# sub pdf_get_text_width {
# my ($$string) = @_ ;
# my $text = $page->text;
# my $font = $pdf->corefont('Helvetica'); # built-in font
# my $size = 8;
# $text->font($font, $size);
# my $width = $text->advancewidth($string);
# } #----------------------------------------------------------------------------------------------------
# sub pdf_get_text_width {
# my ($string) = @_ ;
# my $width = $text->advancewidth($string);
# return ($width) ;
# } #----------------------------------------------------------------------------------------------------
1;