37 lines
No EOL
1.1 KiB
TypeScript
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);
|
|
})
|
|
}
|
|
} |