From 2005501254e21b260c33664d1334d85e77f80a33 Mon Sep 17 00:00:00 2001 From: "kilian (dks-laptop)" Date: Sat, 14 Dec 2019 05:57:10 +0100 Subject: [PATCH] pdfcreator --- bin/pdfcreator/createpdf.pl | 227 ++++++++++++++------------ bin/pdfcreator/output/testnew.pdf | Bin 0 -> 86101 bytes bin/pdfcreator/templates/dks_new.json | 50 ++++++ 3 files changed, 176 insertions(+), 101 deletions(-) create mode 100644 bin/pdfcreator/output/testnew.pdf create mode 100644 bin/pdfcreator/templates/dks_new.json diff --git a/bin/pdfcreator/createpdf.pl b/bin/pdfcreator/createpdf.pl index 76b1863..4316a80 100644 --- a/bin/pdfcreator/createpdf.pl +++ b/bin/pdfcreator/createpdf.pl @@ -21,17 +21,14 @@ my $outputfile = ""; my $pdfout = ""; my $outpath = ""; # my $datafile=dirname($0).'/pdftest.pdf'; -GetOptions ("data|d=s" => \$datafile, "template|t=s" =>\$templatefile,"outpath|o=s"=>\$outpath); +GetOptions ("template|t=s" =>\$templatefile,"outpath|o=s"=>\$pdfout); if (! -e $templatefile){ - print "file '$datafile' does not exist!\n"; + print "file '$templatefile' does not exist!\n"; exit(1); } -if (! -e $datafile){ - print "file '$datafile' does not exist!\n"; - exit(1); -} -if ($outpath eq "" || (! -d $outpath)){ - print "folder '$outpath' does not exist!\n"; + +if (! -d dirname($pdfout)){ + print "folder '".dirname($pdfout)."' does not exist!\n"; exit(1); } my $json = JSON::PP->new->utf8; @@ -42,37 +39,15 @@ while(my $l=){ $tmplstr .= $l; } close(TMPL); -my $datastr; -open(DATA,$datafile); -while(my $l=){ - $datastr .= $l; -} -close(DATA); - -my $data = $json->decode($datastr); -foreach my $d (keys(%{$data})){ - #print $d."=>".ref($data->{$d})."=>".encode("utf-8",$data->{$d})."\n"; - if (ref($data->{$d}) eq ""){ - my $search = '%%'.uc($d).'%%'; - my $replace = encode("utf-8",$data->{$d}); - $tmplstr =~ s/$search/$replace/g; - } else { - my $search = '\[\"%%'.uc($d).'%%\"\]'; - my $replace = encode("utf-8",join("",@{$data->{$d}})); - #print Dumper(); - $tmplstr =~ s/$search/$replace/g; - } - -} -#print Dumper($tmplstr); -$tmpl = $json->decode($tmplstr); -#print Dumper($tmpl->{sections}); + +$tmpl = $json->decode($tmplstr); +#print Dumper($tmpl); #$pdf->preferences({-fitwindow => 1}); -my $page = $pdf->page(); +# my $page = $pdf->page(); #$page->mediabox('A4'); if (exists($tmpl->{global})){ @@ -83,13 +58,13 @@ if (exists($tmpl->{global})){ 'Author' => "DKS InvoiceJournal", 'Creator' => "CreatePDF", 'Producer' => "CreatePDF", - 'Title' => $data->{title}, - 'Subject' => $data->{subject}, + 'Title' => $tmpl->{global}->{title}, + 'Subject' => $tmpl->{global}->{subject}, 'Keywords' => "" ); - $pdfout = $outpath.'/'.substr(basename($datafile),0,-5).".pdf"; - if (-e $outpath.'/'.substr(basename($datafile),0,-5).".pdf"){ - unlink($outpath.'/'.substr(basename($datafile),0,-5).".pdf"); + + if (-e $pdfout){ + unlink($pdfout); } } else { print "No global Options!\n"; @@ -97,25 +72,23 @@ if (exists($tmpl->{global})){ } - -foreach my $s (@{$tmpl->{sections}}){ - - $endpoints->{$s} = {final_y => '', lastpage => 1,pages => 1}; - if ($s->{type} eq "image"){ -# #print "Add Image $s\n"; - $s->{imgpath} = dirname($templatefile); - $endpoints->{$s->{name}}->{y} = &addimage($pdf,$page,$s); - } elsif ($s->{type} eq "line"){ -# #print "Add Line $s\n"; - $endpoints->{$s->{name}}->{y} = &addline($page,$s); - } elsif ($s->{type} eq "text"){ -# #print "Add Text $s\n"; - $endpoints->{$s->{name}}->{y} = &addtext($pdf,$page,$s); - } elsif ($s->{type} eq "table"){ - my $xname=$s->{name}; - ($endpoints->{$xname}->{lastpage}, $endpoints->{$xname}->{pages}, $endpoints->{$xname}->{y}) = &addtable($pdf,$page,$s); +my $page = $pdf->page(); +foreach my $s (@{$tmpl->{content}}){ + &printsection($pdf,$page,$s); +} +my $numpages = $pdf->pages; +foreach (my $p=1;$p<=$numpages;$p++){ + $page = $pdf->openpage($p); + if (exists($tmpl->{header})){ + foreach my $x (@{$tmpl->{header}}){ + &printsection($pdf,$page,$x); + } + } + if (exists($tmpl->{footer})){ + foreach my $x (@{$tmpl->{footer}}){ + &printsection($pdf,$page,$x); + } } - } $pdf->saveas($pdfout); @@ -123,19 +96,49 @@ $pdf->end; #Functions +sub printsection(){ + my $pdf = shift; + my $page = shift; + my $data = shift; + my $start_y = shift; + my $y = undef; + if (defined($start_y)){ + $y = $start_y; + } + if (exists($data->{image})){ + $data->{image}->{imagepath} = dirname($templatefile); + $y = &addimage($pdf,$page,$data->{image}); + } elsif (exists($data->{line})){ + $y = &addline($page,$data->{line}); + } elsif (exists($data->{text})){ + $y = &addtext($pdf,$page,$data->{text}); + } elsif (exists($data->{table})){ + print"has table\n"; + $y = &addtable($pdf,$page,$data->{table}); + } + print "last y: ".$y."\n"; + return $y; +} + sub addimage(){ my $pdf = shift; my $page = shift; my $section = shift; + print Dumper($section); my $gfx = $page->gfx(); - my ($iw, $ih) = imgsize($section->{imgpath}.'/'.$section->{src}); + my ($iw, $ih) = imgsize($section->{imagepath}.'/'.$section->{src}); my $nimgw = $section->{width}; my $nimgh = ($nimgw/$iw) * $ih; #print "New Imagesize: w:".$nimgw." h:".$nimgh."\n"; + print "Image: x:".$section->{x}."\n"; + print "Image: y:".$section->{y}."\n"; $gfx->translate($section->{x},$section->{y}); - my $img = $pdf->image_png($section->{imgpath}.'/'.$section->{src}); + my $img = $pdf->image_png($section->{imagepath}.'/'.$section->{src}); $gfx->image($img,0,0,$nimgw,$nimgh); - $gfx->translate(0,0); + my $tx = int($section->{x}) * -1; + my $ty = int($section->{y}) * -1; + print "translate to: x:".$tx." y:".$ty."\n"; + $gfx->translate($tx,$ty); $gfx->save; return $nimgh + $section->{y}; } @@ -184,52 +187,74 @@ sub addtable(){ my $pdf = shift; my $page = shift; my $section = shift; - my $data = $section->{rows}; - my $pdftbl = new PDF::Table; - delete($section->{type}); - delete($section->{rows}); - delete($section->{name}); - delete($section->{option}); + + my $hx = $section->{x}; + my $hy = $section->{y}; - if (exists($section->{start_y})){ - if ($section->{start_y} =~ /^final_y/){ - my ($sec) = $section->{start_y} =~ /^final_y:(.+)$/; - print "$sec\n"; - - $section->{start_y} = $endpoints->{$sec}->{y}; - + if (exists($section->{header})){ + for (my $h=0;$h{col_def}});$h++){ + my $hdefcol = $section->{header_def}[$h]; + $hdefcol->{x} = $hx; + $hdefcol->{y} = $hy; + $hdefcol->{text} = $section->{header}[$h]->{text}; + print "$h:".Dumper($hdefcol); + &addtext($pdf,$page,$hdefcol); + $hx += $section->{col_def}[$h]->{width}; } } - if (exists($section->{font})){ - $section->{font} = $pdf->corefont($section->{font}); - } - - #print "HeadProps\n"; - if (exists($section->{header_props})){ - foreach (my $i=0;$i{header_props}});$i++){ - my $tmpdata = @{$section->{header_props}}[$i]; - if (exists($tmpdata->{font})){ - $tmpdata->{font} = $pdf->corefont($tmpdata->{font}); - } - @{$section->{header_props}}[$i] = $tmpdata; - } - } - #print "ColProps\n"; - if (exists($section->{column_props})){ - foreach (my $i=0;$i{column_props}});$i++){ - my $tmpdata = @{$section->{column_props}}[$i]; - if (exists($tmpdata->{font})){ - $tmpdata->{font} = $pdf->corefont($tmpdata->{font}); - } - @{$section->{column_props}}[$i] = $tmpdata; - } - } - #print Dumper($section); - #print ref %{$section}."\n"; - my ($lastpage, $tblpages, $final_y) = $pdftbl->table($pdf,$page, $data, %{$section}); - return ($lastpage, $tblpages, $final_y); + return $hy; } +# sub addtable(){ +# my $pdf = shift; +# my $page = shift; +# my $section = shift; +# my $data = $section->{rows}; +# my $pdftbl = new PDF::Table; +# delete($section->{type}); +# delete($section->{rows}); +# delete($section->{name}); +# delete($section->{option}); + +# if (exists($section->{start_y})){ +# if ($section->{start_y} =~ /^final_y/){ +# my ($sec) = $section->{start_y} =~ /^final_y:(.+)$/; +# print "$sec\n"; + +# $section->{start_y} = $endpoints->{$sec}->{y}; + +# } +# } +# if (exists($section->{font})){ +# $section->{font} = $pdf->corefont($section->{font}); +# } + +# #print "HeadProps\n"; +# if (exists($section->{header_props})){ +# foreach (my $i=0;$i{header_props}});$i++){ +# my $tmpdata = @{$section->{header_props}}[$i]; +# if (exists($tmpdata->{font})){ +# $tmpdata->{font} = $pdf->corefont($tmpdata->{font}); +# } +# @{$section->{header_props}}[$i] = $tmpdata; +# } +# } +# #print "ColProps\n"; +# if (exists($section->{column_props})){ +# foreach (my $i=0;$i{column_props}});$i++){ +# my $tmpdata = @{$section->{column_props}}[$i]; +# if (exists($tmpdata->{font})){ +# $tmpdata->{font} = $pdf->corefont($tmpdata->{font}); +# } +# @{$section->{column_props}}[$i] = $tmpdata; +# } +# } +# #print Dumper($section); +# #print ref %{$section}."\n"; +# my ($lastpage, $tblpages, $final_y) = $pdftbl->table($pdf,$page, $data, %{$section}); +# return ($lastpage, $tblpages, $final_y); +# } + diff --git a/bin/pdfcreator/output/testnew.pdf b/bin/pdfcreator/output/testnew.pdf new file mode 100644 index 0000000000000000000000000000000000000000..17d729f27aae02df0685689d6102cf04d3380a80 GIT binary patch literal 86101 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 ToULdBd_)B4PM=oLP^9}GRDp^{ literal 0 HcmV?d00001 diff --git a/bin/pdfcreator/templates/dks_new.json b/bin/pdfcreator/templates/dks_new.json new file mode 100644 index 0000000..713e880 --- /dev/null +++ b/bin/pdfcreator/templates/dks_new.json @@ -0,0 +1,50 @@ +{"global": { + "title":"TEST DOC", + "subject":"TEST DOC", + "preferences": { "fitwindow": 1 }, + "orientation": "portrait", + "size": "A4" +}, +"header":[ + + {"line": { "color": "black", "width": 1, "start": { "x": 50, "y": 753 }, "end": { "x": 285, "y": 753 }}}, + {"text": {"align": "center","font": { "name": "Helvetica", "size": 9 },"x": 200,"y": 743, "data": "Database Knowledge Solutions - Simplify IT!"}}, + {"text": {"align": "right", "font": { "name": "Helvetica", "size": 11 }, "x": 550, "y": 820, "lineheight": 14, "text": "DKS s.à r.l.\n8b, rue du Moulin\n6914 Roodt/Syre\n\nTel: +352 691 504574\ninfo@dks.lu / www.dks.lu"}}, + {"text":{"align": "center","font": { "name": "Helvetica", "size": 9 },"x": 200,"y": 743,"text": "Database Knowledge Solutions - Simplify IT!"}}, + {"image":{ "x": 50,"y": 755,"width": 160, "src": "dks_1000.png"}} +], +"footer":[ {"text": + { + "align": "center", "font": { "name": "Helvetica", "size": 10 }, "x": 297.5, "y": 50, "lineheight": 15, "text": "DKS, Société à responsabilité limitée, RC Luxembourg,B168572 - TVA: LU 2537 5617 - No. Aut: 10024550 / 0\nIBAN: LU25 0020 1100 2783 8700; BIC: BILLLULL" +}} +], +"content":[ + { "table":{ "x":"20","y":"600", + "col_def":[{"width": 50},{"width": 50},{"width": 50},{"width": 50}], + "header_def":[ + {"align": "left", "font": { "name": "Helvetica", "size": 11 }, "lineheight": 14}, + {"align": "left", "font": { "name": "Helvetica", "size": 11 }, "lineheight": 14}, + {"align": "right", "font": { "name": "Helvetica", "size": 11 }, "lineheight": 14}, + {"align": "right", "font": { "name": "Helvetica", "size": 11 }, "lineheight": 14} + ], + "row_def":[ + {"align": "left", "font": { "name": "Helvetica", "size": 9 }, "lineheight": 11}, + {"align": "left", "font": { "name": "Helvetica", "size": 9 }, "lineheight": 11}, + {"align": "right", "font": { "name": "Helvetica", "size": 9 }, "lineheight": 11}, + {"align": "right", "font": { "name": "Helvetica", "size": 9 }, "lineheight": 11} + ], + "header":[ + {"text": "Head 1"}, + {"text": "Head 2"}, + {"text": "Head 3"}, + {"text": "Head 4"} + ], + "rows":[ + [{"text": "Row 01"},{"text": "Row 02"},{"text": "Row 03"},{"text": "Row 04"}], + [{"text": "Row 11"},{"text": "Row 12"},{"text": "Row 13"},{"text": "Row 14"}], + [{"text": "Row 21"},{"text": "Row 22"},{"text": "Row 23"},{"text": "Row 24"}], + [{"text": "Row 31"},{"text": "Row 32"},{"text": "Row 33"},{"text": "Row 34"}] + ] + }} +] +} \ No newline at end of file -- 2.39.5