forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			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);
 | |
| 		})
 | |
| 	}
 | |
| } |