changeset 1886:20fe31b4dd5d dev-pdf-generation

client: pdf-gen: use jpeg, add scale number. * Add a scale number to be visible above the scale bar. * Change image format of the map to be included in the pdf from png to jpeg. This leads to much smaller file sizes.
author Bernhard Reiter <bernhard@intevation.de>
date Thu, 17 Jan 2019 16:42:47 +0100
parents 7824413a4e10
children 3ed036adc80f
files client/src/components/Pdftool.vue
diffstat 1 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/Pdftool.vue	Wed Jan 16 22:35:50 2019 +0100
+++ b/client/src/components/Pdftool.vue	Thu Jan 17 16:42:47 2019 +0100
@@ -168,8 +168,8 @@
           view.getResolution() * view.getProjection().getMetersPerUnit();
         console.log("metersPerPixel = ", metersPerPixel);
 
-        var data = canvas.toDataURL("image/png");
-        pdf.addImage(data, "PNG", 0, 0, width, height);
+        var data = canvas.toDataURL("image/jpeg");
+        pdf.addImage(data, "JPEG", 0, 0, width, height);
         self.addRoundedBox(
           pdf,
           width - scalebarSize * 5.5,
@@ -184,6 +184,16 @@
           scalebarSize,
           scalebarSize * pixelsPerMapMillimeter * metersPerPixel
         );
+        self.addText(
+          pdf,
+          width - scalebarSize * 5,
+          height - scalebarSize * 0.6,
+          10,
+          "black",
+          50,
+          "Scale 1:" +
+            Math.round(1000 * pixelsPerMapMillimeter * metersPerPixel)
+        );
         //self.addText(pdf, 150, 20, 10, "black", 70, "some text");
         self.addNorthArrow(pdf, 15, 8, northarrowSize);
         pdf.save("map.pdf");