wkhtmltopdf
authorkilian (ksmachome) <ksaffran@dks.lu>
Mon, 9 Dec 2019 06:41:35 +0000 (07:41 +0100)
committerkilian (ksmachome) <ksaffran@dks.lu>
Mon, 9 Dec 2019 06:41:35 +0000 (07:41 +0100)
bin/wkhtmltopdf/createpdf.sh [new file with mode: 0755]
bin/wkhtmltopdf/testdoc.pdf [new file with mode: 0644]
bin/wkhtmltopdf/testdoc/content.html [new file with mode: 0644]
bin/wkhtmltopdf/testdoc/footer.html [new file with mode: 0644]
bin/wkhtmltopdf/testdoc/header.html [new file with mode: 0644]
bin/wkhtmltopdf/testdoc/pdfconfig.conf [new file with mode: 0644]

diff --git a/bin/wkhtmltopdf/createpdf.sh b/bin/wkhtmltopdf/createpdf.sh
new file mode 100755 (executable)
index 0000000..bfad7ee
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+PDFAPP="/usr/local/bin/wkhtmltopdf"
+CALLDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+TMPLPATH=$1
+OUTPUT=$2
+TITLE=$3
+source "${TMPLPATH}/pdfconfig.conf"
+echo ${TMPLPATH}
+echo ${OUTPUT}
+echo ${TITLE}
+#exit;
+${PDFAPP} \
+-B ${PDFBOTTOM} \
+-L ${PDFLEFT} \
+-R ${PDFRIGHT} \
+-T ${PDFTOP} \
+-O ${PDFORIENTATION} \
+-s ${PDFSIZE} \
+--header-html ${TMPLPATH}"/header.html" \
+--footer-html ${TMPLPATH}"/footer.html" \
+${TMPLPATH}"/content.html" \
+${OUTPUT}
+
+#--title ${TITLE} \
+#--background \
+#--encoding "UTF-8" \
+#--print-media-type \
+#--header-html ${TMPLPATH}"/header.html"
+
+
diff --git a/bin/wkhtmltopdf/testdoc.pdf b/bin/wkhtmltopdf/testdoc.pdf
new file mode 100644 (file)
index 0000000..df1ec41
Binary files /dev/null and b/bin/wkhtmltopdf/testdoc.pdf differ
diff --git a/bin/wkhtmltopdf/testdoc/content.html b/bin/wkhtmltopdf/testdoc/content.html
new file mode 100644 (file)
index 0000000..dd8f286
--- /dev/null
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <meta http-equiv="X-UA-Compatible" content="ie=edge">
+  <title>Document</title>
+</head>
+<body>
+  <h1>TEST DOCUMENT</h1>
+  <table>
+    <thead><tr><th>TEST</th></tr></thead>
+    <tbody>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+      <tr><td>row</td></tr>
+    </tbody>
+  </table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/testdoc/footer.html b/bin/wkhtmltopdf/testdoc/footer.html
new file mode 100644 (file)
index 0000000..724a6e3
--- /dev/null
@@ -0,0 +1,31 @@
+<!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="border-top: 1px solid black; width: 100%">
+  <tr>
+    <td class="section"></td>
+    <td style="text-align:right">
+      Page <span class="page"></span> of <span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
\ No newline at end of file
diff --git a/bin/wkhtmltopdf/testdoc/header.html b/bin/wkhtmltopdf/testdoc/header.html
new file mode 100644 (file)
index 0000000..fcdb882
--- /dev/null
@@ -0,0 +1,31 @@
+<!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="border-bottom: 1px solid black; width: 100%">
+  <tr>
+    <td class="section"></td>
+    <td style="text-align:right">
+      Page <span class="page"></span> of <span class="topage"></span>
+    </td>
+  </tr>
+</table>
+</body></html>
diff --git a/bin/wkhtmltopdf/testdoc/pdfconfig.conf b/bin/wkhtmltopdf/testdoc/pdfconfig.conf
new file mode 100644 (file)
index 0000000..5ba2615
--- /dev/null
@@ -0,0 +1,6 @@
+PDFTOP="10mm"
+PDFBOTTOM="10mm"
+PDFLEFT="10mm"
+PDFRIGHT="10mm"
+PDFSIZE="A4"
+PDFORIENTATION="Portrait"
\ No newline at end of file