v20191231
authorkilian (ksmachome) <ksaffran@dks.lu>
Tue, 31 Dec 2019 13:46:12 +0000 (14:46 +0100)
committerkilian (ksmachome) <ksaffran@dks.lu>
Tue, 31 Dec 2019 13:46:12 +0000 (14:46 +0100)
44 files changed:
bin/wkhtmltopdf/createpdf.pl [new file with mode: 0755]
bin/wkhtmltopdf/output/textinvoice.pdf [new file with mode: 0644]
bin/wkhtmltopdf/pdfreport.pm [new file with mode: 0644]
bin/wkhtmltopdf/report/dks_500.png [moved from bin/wkhtmltopdf/testdoc/dks_500.png with 100% similarity]
bin/wkhtmltopdf/report/invoice.conf [moved from bin/wkhtmltopdf/testdoc/pdfconfig.conf with 100% similarity]
bin/wkhtmltopdf/report/invoice.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/report/invoice.header.html [moved from bin/wkhtmltopdf/testdoc/header.html with 100% similarity]
bin/wkhtmltopdf/report/invoice.html [moved from bin/wkhtmltopdf/testdoc/content.html with 100% similarity]
bin/wkhtmltopdf/report/ttinvoice.conf [new file with mode: 0644]
bin/wkhtmltopdf/report/ttinvoice.footer.tt [new file with mode: 0644]
bin/wkhtmltopdf/report/ttinvoice.header.tt [new file with mode: 0644]
bin/wkhtmltopdf/report/ttinvoice.tt [new file with mode: 0644]
bin/wkhtmltopdf/report/ttinvoice/dks_500.png [new file with mode: 0644]
bin/wkhtmltopdf/report/ttinvoice/sitc.png [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice/dks_500.png [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice/sitc.png [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice/ttinvoice.css [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2386.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2386.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2386.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2529.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2529.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2529.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2649.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2649.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2649.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2720.footer.html [moved from bin/wkhtmltopdf/testdoc/footer.html with 94% similarity]
bin/wkhtmltopdf/tmp/ttinvoice2720.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2720.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2750.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2750.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2750.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2805.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2805.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2805.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2823.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2823.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2823.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2853.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2853.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2853.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2981.footer.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2981.header.html [new file with mode: 0644]
bin/wkhtmltopdf/tmp/ttinvoice2981.html [new file with mode: 0644]

diff --git a/bin/wkhtmltopdf/createpdf.pl b/bin/wkhtmltopdf/createpdf.pl
new file mode 100755 (executable)
index 0000000..70ea776
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/local/bin/perl
+
+use strict;
+use FindBin qw($RealBin);
+use lib ($RealBin);
+use lib ('.');
+use pdfreport;
+my $dbpath = $ENV{HOME}.'/Workspace/dksnas/data';
+my $data = {
+  dbtype => 'SQLite', #'PgPP' or ScLite
+  dsn => 'DBI:SQLite:dbname='.$dbpath.'/invoicejournal/dksbuchhaltung.sqlite',
+  dbuser => '',
+  dbpassword => ''
+};
+my $rep = pdfreport->new({tmplpath => $RealBin.'/report', tmp => $RealBin.'/tmp',data => {}});
+my ($result,$file) = $rep->createpdf('ttinvoice',$RealBin.'/output/textinvoice.pdf');
+print "$result: $file\n";
+
+
diff --git a/bin/wkhtmltopdf/output/textinvoice.pdf b/bin/wkhtmltopdf/output/textinvoice.pdf
new file mode 100644 (file)
index 0000000..1e7d1d0
Binary files /dev/null and b/bin/wkhtmltopdf/output/textinvoice.pdf differ
diff --git a/bin/wkhtmltopdf/pdfreport.pm b/bin/wkhtmltopdf/pdfreport.pm
new file mode 100644 (file)
index 0000000..370f4ec
--- /dev/null
@@ -0,0 +1,105 @@
+package pdfreport;
+
+use strict;
+use Template;
+use File::Basename qw/dirname basename/;
+use Data::Dumper;
+use File::Copy::Recursive qw(dircopy);
+sub new {
+    my $class = shift;
+    my $p = shift;
+    my $self = bless {}, $class;
+    $self->{tmplpath} =$p->{tmplpath};
+    $self->{tmp} =$p->{tmp};
+    $self->{data} = $p->{data};
+    $self->{PDFAPP} = "/usr/local/bin/wkhtmltopdf";
+    return $self;
+}
+
+sub createpdf(){
+  my $self = shift;
+  my $template = shift;
+  my $output = shift;
+  my $pdfcfg = ();
+  my $r = -1;
+  print $self->{tmplpath}.'/'.$template.'.conf'."\n";
+  if (-e $self->{tmplpath}.'/'.$template.'.conf'){
+    $pdfcfg = $self->readpdfconfig($template);
+    print Dumper($pdfcfg);
+  }
+  my $tmpreportpath=$self->{tmplpath};
+  if (exists($pdfcfg->{ENGINE}) && ($pdfcfg->{ENGINE} eq "Template::Toolkit")){
+    $template = $self->createTTReport($template);
+    $tmpreportpath = $self->{tmp};
+  }
+  if ((keys(%{$pdfcfg}) > 0) && (-e $tmpreportpath.'/'.$template.'.html')){
+    my $cmd = '"'.$self->{PDFAPP}.'"';
+    if ($pdfcfg->{PDFBOTTOM}){ $cmd .= " -B ".$pdfcfg->{PDFBOTTOM}; }
+    if ($pdfcfg->{PDFLEFT}){ $cmd .= " -L ".$pdfcfg->{PDFLEFT}; }
+    if ($pdfcfg->{PDFRIGHT}){ $cmd .= " -R ".$pdfcfg->{PDFRIGHT}; }
+    if ($pdfcfg->{PDFTOP}){ $cmd .= " -T ".$pdfcfg->{PDFTOP}; }
+    if ($pdfcfg->{PDFORIENTATION}){ $cmd .= " -O ".$pdfcfg->{PDFORIENTATION}; }
+    if ($pdfcfg->{PDFSIZE}){ $cmd .= " -s ".$pdfcfg->{PDFSIZE}; }
+    if (-e $tmpreportpath.'/'.$template.'.header.html'){
+      $cmd .= ' --header-html "'.$tmpreportpath.'/'.$template.'.header.html"';
+    }
+    if (-e $tmpreportpath.'/'.$template.'.footer.html'){
+      $cmd .= ' --footer-html "'.$tmpreportpath.'/'.$template.'.footer.html"';
+    }
+    $cmd .= ' "'.$tmpreportpath.'/'.$template.'.html"';
+    $cmd .= ' "'.$output.'"';
+    print $cmd."\n";
+    $r = system($cmd);
+  }
+  if (-e $output){
+    return ($r,$output);
+  }
+  return ($r,undef);
+}
+
+sub createTTReport(){
+  my $self = shift;
+  my $template = shift;
+  my $uniquekey = $$;
+  if (-e $self->{tmplpath}.'/'.$template.".tt"){
+    $self->TTtoHTML($self->{tmplpath}.'/'.$template.".tt",$self->{tmp}.'/'.$template.$$.".html",$self->{data});
+  }
+  if (-e $self->{tmplpath}.'/'.$template.".header.tt"){
+    $self->TTtoHTML($self->{tmplpath}.'/'.$template.".header.tt",$self->{tmp}.'/'.$template.$$.".header.html",$self->{data});
+  }
+  if (-e $self->{tmplpath}.'/'.$template.".footer.tt"){
+    $self->TTtoHTML($self->{tmplpath}.'/'.$template.".footer.tt",$self->{tmp}.'/'.$template.$$.".footer.html",$self->{data});
+  }
+  if (-d $self->{tmplpath}.'/'.$template){
+    dircopy($self->{tmplpath}.'/'.$template,$self->{tmp}.'/'.$template);
+  }
+  return $template.$$;
+}
+
+sub TTtoHTML(){
+  my $self = shift;
+  my $ttfile = shift;
+  my $outfile = shift;
+  my $data = shift;
+  my $template = Template->new({INCLUDE_PATH => [dirname($ttfile)],OUTPUT => $outfile});
+  $template->process(basename($ttfile),$data) || die "Template process failed: ", $template->error(), "\n";
+}
+
+sub readpdfconfig(){
+  my $self = shift;
+  my $template = shift;
+  my $cfg = ();
+  open(CFG,$self->{tmplpath}.'/'.$template.'.conf');
+  while (my $l = <CFG>){
+    chomp($l);
+    $l =~ s/^\s+//;
+    if (($l =~ /^#/) || ($l eq "")) {next;}
+    if ($l =~ /\w+=.+/){
+      my ($k,$v) = $l =~ m/^(\w+)=\"(.+)\"$/;
+      $cfg->{$k} = $v;
+    }
+  }
+  close(CFG);
+  return $cfg;
+}
+1;
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/report/invoice.footer.html b/bin/wkhtmltopdf/report/invoice.footer.html
new file mode 100644 (file)
index 0000000..cc9294e
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Soci?t? ?responsabilit? limit?e, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/report/ttinvoice.conf b/bin/wkhtmltopdf/report/ttinvoice.conf
new file mode 100644 (file)
index 0000000..8533791
--- /dev/null
@@ -0,0 +1,7 @@
+PDFTOP="40mm"
+PDFBOTTOM="20mm"
+PDFLEFT="20mm"
+PDFRIGHT="10mm"
+PDFSIZE="A4"
+PDFORIENTATION="Portrait"
+ENGINE="Template::Toolkit"
diff --git a/bin/wkhtmltopdf/report/ttinvoice.footer.tt b/bin/wkhtmltopdf/report/ttinvoice.footer.tt
new file mode 100644 (file)
index 0000000..fa11876
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/report/ttinvoice.header.tt b/bin/wkhtmltopdf/report/ttinvoice.header.tt
new file mode 100644 (file)
index 0000000..689fe7c
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 150mm; margin-top:5mm;"><img src="ttinvoice/sitc.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm;text-align: right;">
+      <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffran.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;"></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/report/ttinvoice.tt b/bin/wkhtmltopdf/report/ttinvoice.tt
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/report/ttinvoice/dks_500.png b/bin/wkhtmltopdf/report/ttinvoice/dks_500.png
new file mode 100644 (file)
index 0000000..35c6adb
Binary files /dev/null and b/bin/wkhtmltopdf/report/ttinvoice/dks_500.png differ
diff --git a/bin/wkhtmltopdf/report/ttinvoice/sitc.png b/bin/wkhtmltopdf/report/ttinvoice/sitc.png
new file mode 100644 (file)
index 0000000..853b36a
Binary files /dev/null and b/bin/wkhtmltopdf/report/ttinvoice/sitc.png differ
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice/dks_500.png b/bin/wkhtmltopdf/tmp/ttinvoice/dks_500.png
new file mode 100644 (file)
index 0000000..35c6adb
Binary files /dev/null and b/bin/wkhtmltopdf/tmp/ttinvoice/dks_500.png differ
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice/sitc.png b/bin/wkhtmltopdf/tmp/ttinvoice/sitc.png
new file mode 100644 (file)
index 0000000..853b36a
Binary files /dev/null and b/bin/wkhtmltopdf/tmp/ttinvoice/sitc.png differ
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice/ttinvoice.css b/bin/wkhtmltopdf/tmp/ttinvoice/ttinvoice.css
new file mode 100644 (file)
index 0000000..d56ba40
--- /dev/null
@@ -0,0 +1,51 @@
+div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2386.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2386.footer.html
new file mode 100644 (file)
index 0000000..17ac4bd
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Soci�t� �responsabilit� limit�e, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2386.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2386.header.html
new file mode 100644 (file)
index 0000000..777164d
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm">&nbsp;</td>
+    <td style="width: 50mm;text-align: right;">
+      <div style="text-align: left;width: 50mm; font-size: 12pt;font: sans;">
+          <b>DKS s.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2386.html b/bin/wkhtmltopdf/tmp/ttinvoice2386.html
new file mode 100644 (file)
index 0000000..81791fa
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>Document</title>
+  <link rel="stylesheet" href="ttinvoice.css"/>
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 €</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 €</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 €</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2529.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2529.footer.html
new file mode 100644 (file)
index 0000000..17ac4bd
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Soci�t� �responsabilit� limit�e, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2529.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2529.header.html
new file mode 100644 (file)
index 0000000..69ee309
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm">&nbsp;</td>
+    <td style="width: 50mm;text-align: right;">
+      <div style="text-align: left;width: 50mm; font-size: 12pt;font: sans;">
+          <b>DKS s.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2529.html b/bin/wkhtmltopdf/tmp/ttinvoice2529.html
new file mode 100644 (file)
index 0000000..81791fa
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>Document</title>
+  <link rel="stylesheet" href="ttinvoice.css"/>
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 €</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 €</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 €</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2649.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2649.footer.html
new file mode 100644 (file)
index 0000000..17ac4bd
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Soci�t� �responsabilit� limit�e, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2649.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2649.header.html
new file mode 100644 (file)
index 0000000..69ee309
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm">&nbsp;</td>
+    <td style="width: 50mm;text-align: right;">
+      <div style="text-align: left;width: 50mm; font-size: 12pt;font: sans;">
+          <b>DKS s.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2649.html b/bin/wkhtmltopdf/tmp/ttinvoice2649.html
new file mode 100644 (file)
index 0000000..a972aeb
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 €</td><td class="right">0,00 €</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 €</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 €</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 €</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
similarity index 94%
rename from bin/wkhtmltopdf/testdoc/footer.html
rename to bin/wkhtmltopdf/tmp/ttinvoice2720.footer.html
index 9ed52d3..e398a66 100644 (file)
@@ -21,7 +21,7 @@ function subst() {
 }
 </script></head><body style="border:0; margin: 0;" onload="subst()">
 <table style="width: 100%;" >
-  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
     <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
   <tr>
     <td></td>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2720.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2720.header.html
new file mode 100644 (file)
index 0000000..62b6ce3
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm">&nbsp;</td>
+    <td style="width: 50mm;text-align: right;">
+      <div style="text-align: left;width: 50mm; font-size: 12pt;font: sans;">
+          <b>DKS s.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2720.html b/bin/wkhtmltopdf/tmp/ttinvoice2720.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2750.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2750.footer.html
new file mode 100644 (file)
index 0000000..e398a66
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 25375617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2750.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2750.header.html
new file mode 100644 (file)
index 0000000..0bb10b3
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm">&nbsp;</td>
+    <td style="width: 50mm;text-align: right;">
+      <div style="text-align: left;width: 50mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2750.html b/bin/wkhtmltopdf/tmp/ttinvoice2750.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2805.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2805.footer.html
new file mode 100644 (file)
index 0000000..fa11876
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2805.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2805.header.html
new file mode 100644 (file)
index 0000000..067372a
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 40mm">&nbsp;</td>
+    <td style="width: 70mm;text-align: right;">
+      <div style="text-align: left;width: 7'mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2805.html b/bin/wkhtmltopdf/tmp/ttinvoice2805.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2823.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2823.footer.html
new file mode 100644 (file)
index 0000000..fa11876
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2823.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2823.header.html
new file mode 100644 (file)
index 0000000..067372a
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 40mm">&nbsp;</td>
+    <td style="width: 70mm;text-align: right;">
+      <div style="text-align: left;width: 7'mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2823.html b/bin/wkhtmltopdf/tmp/ttinvoice2823.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2853.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2853.footer.html
new file mode 100644 (file)
index 0000000..fa11876
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2853.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2853.header.html
new file mode 100644 (file)
index 0000000..80786df
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 100mm; margin-top:5mm;"><img src="ttinvoice/dks_500.png" style="height: 35mm;"/></td>
+    <td style="width: 50mm">&nbsp;</td>
+    <td style="width: 60mm;text-align: right;">
+      <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;">SAFFRAN IT Consulting - <b>Simplify IT</b></td><td></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2853.html b/bin/wkhtmltopdf/tmp/ttinvoice2853.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2981.footer.html b/bin/wkhtmltopdf/tmp/ttinvoice2981.footer.html
new file mode 100644 (file)
index 0000000..fa11876
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head><script>
+function subst() {
+    var vars = {};
+    var query_strings_from_url = document.location.search.substring(1).split('&');
+    for (var query_string in query_strings_from_url) {
+        if (query_strings_from_url.hasOwnProperty(query_string)) {
+            var temp_var = query_strings_from_url[query_string].split('=', 2);
+            vars[temp_var[0]] = decodeURI(temp_var[1]);
+        }
+    }
+    var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
+    for (var css_class in css_selector_classes) {
+        if (css_selector_classes.hasOwnProperty(css_class)) {
+            var element = document.getElementsByClassName(css_selector_classes[css_class]);
+            for (var j = 0; j < element.length; ++j) {
+                element[j].textContent = vars[css_selector_classes[css_class]];
+            }
+        }
+    }
+}
+</script></head><body style="border:0; margin: 0;" onload="subst()">
+<table style="width: 100%;" >
+  <tr><td colspan="2" style="text-align: center;"><b>SAFFRAN IT Consulting s.à r.l.</b> ist eine Handelsbezeichnung von<br/> <b>DKS</b>, Société à responsabilité limitée, <b>RC</b> B168572 - <b>TVA:</b> LU 2537 5617 - <b>No. Aut:</b> 10024550 / 0<br/>
+    <b>IBAN:</b> LU25 0020 1100 2783 8700; <b>BIC:</b> BILLLULL</td></tr>
+  <tr>
+    <td></td>
+    <td style="text-align:right">
+      Seite <span class="page"></span>/<span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2981.header.html b/bin/wkhtmltopdf/tmp/ttinvoice2981.header.html
new file mode 100644 (file)
index 0000000..73bbace
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+
+</head><body style="border:0; margin: 0;" o>
+<table style="width: 100%;">
+  <tr>
+    <td style="width: 150mm; margin-top:5mm;"><img src="ttinvoice/sitc.png" style="height: 35mm;"/></td>
+    <td style="width: 60mm;text-align: right;">
+      <div style="text-align: left;width: 60mm; font-size: 12pt;font: sans;">
+          <b>SAFFRAN IT Consulting S.à r.l.</b><br/>
+          4, rue Principale<br/>
+          L-3770 Tétange<br/><br/>
+          Tel: +352 691 504 574<br/>
+          info@saffran.lu / www.saffrans.lu<br/>
+      </div>
+    </td>
+    <tr><td style="text-align: left;"></td><td></td></tr>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/tmp/ttinvoice2981.html b/bin/wkhtmltopdf/tmp/ttinvoice2981.html
new file mode 100644 (file)
index 0000000..81e1401
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="ISO-8859-1">
+  <title>Document</title>
+  <style>
+  div {
+  font-size: 18pt;
+}
+table {
+  font-size: 18pt;
+  border-spacing: unset;
+  border-collapse: unset;
+}
+td.invdatalbl {
+  font-weight: bold;
+  margin: 1mm; 
+  padding: 2mm;
+  border-collapse:collapse;;
+  width: 30mm;
+  background-color: #c6c6c6;
+}
+td.invdataval {
+  font-weight: normal; 
+  margin: 1mm; 
+  padding: 2mm;
+}
+.right{
+  text-align: right;
+}
+table#tbl_products {
+  border-spacing: 0;
+  border-collapse: 0;
+  margin-top: 10mm;
+  width: 100%;
+}
+table#tbl_products td {
+  padding: 2mm;
+  border-bottom: 1px solid black;
+}
+
+table#tbl_products th {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  border-bottom: 0px;
+  padding: 2mm;
+  background-color: #c6c6c6;
+}
+
+th.footer {
+  margin: 1mm; 
+  border: 1px solid #fff;
+  background-color: unset;
+  border-bottom: 0px;
+  padding: 2mm;
+  text-align: right;
+}
+  </style>
+</head>
+<body>
+  
+  <table style="width: 100%;">
+    <tr>
+      <td style="width: 60%;"></td>
+      <td style="width: 40%;font-size: 30pt; font-weight: bold;">Rechnung</td>
+    </tr>
+    <tr>
+      <td style="vertical-align: top; font-size: 25pt;">
+        Firma<br/>1, rue Principale<br>L-1234 Ville<br/><br/>
+      </td>
+      <td >
+        <table style="border: 1px solid black; width: 100%; font-size: 18pt;">
+          <tr> <td class="invdatalbl">Rechnungs-Nr.</td><td class="invdataval">YYYYMMDD-XXXX</td></tr>
+          <tr> <td class="invdatalbl">Datum</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Fälligkeit</td><td class="invdataval">DD.MM.YYYY</td> </tr>
+          <tr> <td class="invdatalbl">Kundennummer</td><td class="invdataval">00000000</td> </tr>
+        </table>
+      </td>
+    </tr>
+    
+  </table>
+  <table id="tbl_products" >
+    <thead><tr><th style="width: 15mm;">#</th><th>Produkt / Dienstleistung</th><th style="width: 25mm;" colspan="2">Anz.</th><th style="width: 25mm;">Einzel-Preis</th><th style="width: 25mm;">Netto-Summe</th></tr></thead>
+    <tbody>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right" style="width: 10mm;">0</td><td style="width: 15mm;">Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>
+      <tr><td style="width: 15mm;">AB12</td><td>Lange Beschreibung</td><td class="right">0</td><td>Stunden</td><td class="right">0,00 ?</td><td class="right">0,00 ?</td></tr>      
+    </tbody>
+    <tfoot>
+      <tr>
+        <th colspan="4" class="footer right">Total Netto</td>
+        <td colspan="2" class="right" >0000,00 ?</td>
+      </tr>
+      <tr>
+          <th colspan="4" class="footer right">MwSt. (17%)</td>
+          <td colspan="2" class="right" style="font-style: italic;">0000,00 ?</td>
+        </tr>
+        <tr>
+            <th colspan="4" class="footer right">Gesamt zu bezahlen:</td>
+            <td colspan="2" class="right" style="font-weight: bold;">0000,00 ?</td>
+          </tr>
+    </tfoot>
+  </table>
+  <div style="width: 100%; padding-left: 100mm;margin-top: 10mm;">Nous vous prions de virer le montant ci-dessus au compte<br>
+      <b>LU25 0020 1100 2783 8700 (BILLLULL)</b></div>
+</body>
+</html>
\ No newline at end of file