--- /dev/null
+#!/usr/bin/env perl
+
+use strict;
+use PDF::API2;
+use PDF::Table;
+#use Image::Size;
+use utf8;
+use Encode;
+use Data::Dumper;
+my $pdf = PDF::API2->new();
+#
+# use constant mm => 25.4 / 72;
+# use constant in => 1 / 72;
+# use constant pt => 1;
+
+$pdf->preferences({-fitwindow => 1});
+my $fntbold = $pdf->corefont('Helvetica-Bold');
+my $fnt = $pdf->corefont('Helvetica');
+#
+my $page = $pdf->page();
+my $x=220;
+my $y=500;
+$page->mediabox($x,$y);
+# $page->mediabox(220,284);
+#height: 284
+#width: 220
+#header
+my $paperhead = $page->text();
+$y=$y-10;
+$paperhead->translate(110, $y);
+$paperhead->font($fntbold,10);
+$paperhead->text_center('Hand and Hand fir Afrika');
+$y=$y-12;
+$paperhead->translate(110, $y);
+$paperhead->text_center('Beetebuerg');
+$y=$y-12;
+$paperhead->translate(110, $y);
+$paperhead->text_center('Divers Day Hellange 2019');
+$paperhead->font($fnt,10);
+$y=$y-14;
+$paperhead->translate(20, $y);
+$paperhead->text("Commande:\t0001");
+$y=$y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("Table:\t14");
+$y=$y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("10 Bières 2,80 €");
+$y = $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("9 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("8 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("7 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("6 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("5Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("4 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("3 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("2 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("1 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("0 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("8 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("7 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("6 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("5Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("4 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("3 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("2 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("1 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("0 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("8 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("7 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("6 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("5Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("4 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("3 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("2 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("1 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("0 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("8 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("7 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("6 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("5Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("4 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("3 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("2 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("1 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("0 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("8 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("7 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("6 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("5Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("4 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("3 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("2 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("1 Bières 2,80 €");
+$y= $y-12;
+$paperhead->translate(20, $y);
+$paperhead->text("0 Bières 2,80 €");
+$pdf->saveas('pdfcashbox.pdf');
+$pdf->end;
+
+# $gfx->translate(-$x,-$y);
+# my $red_line = $page->gfx();
+# $red_line->strokecolor('black');
+# $red_line->linewidth(1);
+# $red_line->move( 50, 753 );
+# $red_line->line( 285, 753 );
+# $red_line->stroke;
+# my $dkstext = $page->text();
+# $dkstext->translate(200, 743);
+# $dkstext->font($fnt,9);
+# $dkstext->text_center('Database Knowledge Solutions - Simplify IT!');
+
+
+# my $adr_line = $page->gfx();
+# $adr_line->strokecolor('black');
+# $adr_line->linewidth(1);
+# $adr_line->move( 52, 662 );
+# $adr_line->line( 280, 662 );
+# $adr_line->stroke;
+# $x=550;
+# $y = 820;
+# my $fz=11;
+# my $txt = $page->text();
+# $txt->font($fntbold,$fz);
+# $txt->translate($x, $y);
+# $txt->text_right('DKS s.à r.l.');
+# $txt->font($fnt,$fz);
+# $y = $y -$fz-3;
+# $txt->translate($x, $y);
+# $txt->text_right("8b, rue du Moulin");
+# $y = $y -$fz-3;
+# $txt->translate($x, $y);
+# $txt->text_right("6914 Roodt/Syre");
+# $y = $y - (2*($fz+3));
+# $txt->translate($x, $y);
+# $txt->text_right("Tel: +352 691 504574");
+# $y = $y -$fz-3;
+# $txt->translate($x, $y);
+# $txt->text_right("info\@dks.lu / www.dks.lu");
+# #
+# $y = $y - (4*($fz+3));
+# $txt->translate($x, $y);
+# $txt->font($fntbold,30);
+# $txt->text_right("Rechnung");
+
+# my $pdftbladdress = new PDF::Table;
+# my $inv_data3 = [ ["An:"], ["Kilian Saffran"], ["4, rue Principale"], ["L-3770 Tétange"] ];
+
+# my $tbl_props3 = { x => 50, w => 230, font => $fnt, font_size => $fz, start_y => 680, start_h => 620, next_y => 750, next_h => 500, padding => 2, padding_bottom => 3, padding_top => 3, padding_right => 5, column_props => [{ min_w => 200, max_w => 200, justify => 'left' }], header_props => [{ font_size => $fz, font => $fntbold, bg_color => 'white', font_color => 'black', repeat => 1, justify => 'left' }], border => 0 };
+# my ($lastpage, $tblpages, $final_y) = $pdftbladdress->table($pdf,$page,$inv_data3,%{$tbl_props3});
+
+# print $lastpage." - ".$tblpages." - ".$final_y."\n";
+
+# my $pdftblinvdata = new PDF::Table;
+
+# my $inv_data = [ ["Rechnungs-Nr.","00000000-0000"], ["Datum","00.00.0000"], ["Fälligkeit","00.00.0000"], ["Kunden-Nr.","00000000"], ["Ust-Id","LU 0000 0000"] ];
+
+# my $tbl_props2 = {x => 390, w => 175, font => $fnt, font_size => $fz, start_y => 680, start_h => 620, next_y => 750, next_h => 500, padding => 2, padding_bottom => 3, padding_top => 3, padding_right => 5, column_props => [ { min_w => 70, max_w => 70, justify => 'left' }, { min_w => 90, max_w => 90, justify => 'left', font => $fntbold } ], border => 0};
+# ($lastpage, $tblpages, $final_y) = $pdftblinvdata->table( $pdf, $page, $inv_data, %{$tbl_props2} );
+# print $lastpage." - ".$tblpages." - ".$final_y."\n";
+# #print Dumper($tbl_props2);
+# my $pdftable = new PDF::Table;
+
+# my $some_data =[ ["Product / Dienstleistung", "Anzahl","EinzelPreis","Netto-Preis"], ["Computer Installation Donec super long text goes here to provoke a text block Donec super long text goes here to provoke a text block Donec super long text goes here to provoke a text block", "1 Stunde","55,00 €","55,00 €"], ["Computer Installation", "1 Stunde","55,00 €","55,00 €"], ["Computer Installation", "1 Stunde","55,00 €","55,00 €"] ];
+# my $tbl_propsm = {x => 50, w => 500, font => $fnt, font_size => $fz, start_y => 570, start_h => 300, next_y => 750, next_h => 500, padding => 2, padding_left => 5, padding_bottom => 10, padding_top => 5, padding_right => 5, header_props => { font_size => $fz, font => $fntbold, bg_color => '#e6e6e6', font_color => 'black', repeat => 1, justify => 'center' }, column_props => [ { }, { min_w => 40, max_w => 40, justify => 'right' }, { min_w => 20, max_w => 20, justify => 'right' }, { min_w => 50, max_w => 50, justify => 'right', font => $fnt } ], border => 0.5};
+
+# ($lastpage, $tblpages, $final_y) = $pdftable->table( $pdf, $page, $some_data, %{$tbl_propsm} );
+# print $lastpage." - ".$tblpages." - ".$final_y."\n";
+
+# my $pdftotalsum = new PDF::Table;
+# my $total_data = [ ["Gesamt Netto :","165,00 €"], ["MwSt. (17%) :","28,05 €"], ["Gesamt Brutto :","193,05 €"] ];
+# my $tbl_props4 = {x => 349.5, w => 201, font => $fnt, font_size => $fz, start_y => $final_y, start_h => 150, next_y => 750, next_h => 500, padding => 2, padding_left => 5, padding_bottom => 10, padding_top => 5, padding_right => 5, column_props => [ { justify => 'right' }, { min_w => 70, max_w => 70, justify => 'right', font => $fntbold } ], border => 0.5};
+
+# ($lastpage, $tblpages, $final_y) = $pdftotalsum->table( $pdf, $page, $total_data, %{$tbl_props4} );
+# print $lastpage." - ".$tblpages." - ".$final_y."\n";
+
+
+
+