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);
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |