forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			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); | ||
|  | 		}) | ||
|  | 	} | ||
|  | } |