mapcomplete/Logic/Actors/ExportPDF.ts
2021-07-27 15:51:47 +02:00

37 lines
No EOL
1.1 KiB
TypeScript

/**
* Creates screenshoter to take png screenshot
* Creates jspdf and downloads it
* - landscape pdf
*
* To add new layout:
* - add new possible layout name in constructor
* - add new layout in "PDFLayout"
* -> in there are more instructions
*/
import jsPDF from "jspdf";
import { SimpleMapScreenshoter } from "leaflet-simple-map-screenshoter";
import State from "../../State";
import Minimap from "../../UI/Base/Minimap";
import { PDFLayout } from "./PDFLayout";
export default class ExportPDF {
constructor(
name: string,
layout: "natuurpunt"
){
const screenshotter = new SimpleMapScreenshoter();
//let temporaryMap = new Minimap();
//temporaryMap.SetStyle('visibility: hidden');
//temporaryMap.AttachTo("tempScreenshotDiv");
//minimap op index.html -> hidden daar alles op doen en dan weg
//minimap - leaflet map ophalen - boundaries ophalen - State.state.featurePipeline
screenshotter.addTo(State.state.leafletMap.data);
let doc = new jsPDF('l');
screenshotter.takeScreen('image').then(image => {
let file = new PDFLayout();
file.AddLayout(layout, doc, image);
doc.save(name);
})
}
}