Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MapFish Print 3
Reporting meets maps
 
 
Tobias Sauerwein - Marion Baumgartner
Camptocamp
 
CAMPTOCAMP
Every spec for every web-mapping project
Req. #78:
Printing/PDF export
You got the choice
PRINT CSS STYLESHEETS
GENERATE PDF IN JAVASCRIPT
Using jsPDF ( )OpenLayers 3 example
GENERATE PDF WITH WKHTMLTOPDF
BUILD YOUR OWN
...
c.drawImage(self.logo, ...)
c.setFont('Helvetica', 24)
c.drawRightString(..., 'Report')
c.setFont('Helv...
Checklist
Higher resolutions?
Page formats?
Supported geo-data?
Layouting/templates?
Client vs. server?
MAPFISH PRINT?
MAPFISH PRINT 3
Plugin Framework
MapFish Print
Web API / Security / Widgets
Mapping Layout
PRINT PROCESS
YAML CONFIGURATION
templates:
  A4 Portrait: !template
    reportTemplate: report.jrxml
    attributes:
      ...
    proc...
YAML CONFIGURATION (ATTRIBUTES)
templates:
  A4 Portrait: !template
    reportTemplate: report.jrxml
    attributes:
     ...
YAML CONFIGURATION (PROCESSORS)
templates:
  A4 Portrait: !template
    reportTemplate: report.jrxml
    attributes:
     ...
REPORT DESIGNER: JASPERSOFT STUDIO
PRINT REQUEST
{
  "layout": "A4 Portrait",
  "outputFormat": "pdf",
  "attributes": {
    "title": "Sample Print",
    "ma...
MAP WIDGETS
SUPPORTED GEO-DATA
Vector
GML/WFS
GeoJSON
Raster
XYZ Tiles (OSM, ...)
(Tiled) WMS
WMTS
GeoTIFF
WE GOT STYLE!
Full GeoTools styling with SLD
JSON styling format
"[INTERSECTS(geometry, buffer(POLYGON (...), 200
  "symbo...
TABLES
SUPPORT FOR MULTIPLE MAPS (DATASOURCE)
CHARTS
EXTERNAL DATASOURCES
CLIENT SIDE SUPPORT
(OpenLayers 3/Angular):ngeo Example
:GeoExt 3 Example
PLUGGABLE ARCHITECTURE
MAPFISH PRINT 3
MapFish Print on GitHub
github.com/mapfish/mapfish-print
 
This presentation
bit.ly/foss4g-mfp
 
Find us o...
CREDITS FOR THESE GREAT PHOTOS!
MapFish Print 3
Upcoming SlideShare
Loading in …5
×

MapFish Print 3

780 views

Published on

enerating reports is an important feature in many web-mapping applications. MapFish Print 3 is an interesting tool for this job. The project MapFish Print project consists of a Java library and a web application for generating reports with maps from many different raster and vector sources, like WMS, WMTS, tile services, WFS or GeoJSON. The integration with the reporting engine JasperReports facilitates the creation of complex reports. A WYSIWYG report designer makes it easy to layout report templates and to position tables, graphics, diagrams, sub-reports, maps or map components like scale-bars or legends.

This presentation introduces MapFish Print 3 and addresses the following topics:
- The architecture of MapFish Print 3
- The configuration of report templates
- Using the report designer
- Examples for complex reports
- JavaScript libraries that ease the integration with OpenLayers projects
- Upgrade from the previous version
- New features and current developments

Published in: Software
  • Be the first to comment

  • Be the first to like this

MapFish Print 3

  1. 1. MapFish Print 3 Reporting meets maps     Tobias Sauerwein - Marion Baumgartner Camptocamp  
  2. 2. CAMPTOCAMP
  3. 3. Every spec for every web-mapping project Req. #78: Printing/PDF export
  4. 4. You got the choice
  5. 5. PRINT CSS STYLESHEETS
  6. 6. GENERATE PDF IN JAVASCRIPT Using jsPDF ( )OpenLayers 3 example
  7. 7. GENERATE PDF WITH WKHTMLTOPDF
  8. 8. BUILD YOUR OWN ... c.drawImage(self.logo, ...) c.setFont('Helvetica', 24) c.drawRightString(..., 'Report') c.setFont('Helvetica', 9) c.drawRightString(     ..., time.strftime('Created at %d/%m/%Y %Hh% c.setLineWidth(3) c.setStrokeColor(report_blue) c.line(0, 1, self.width, 1) c.restoreState() ...
  9. 9. Checklist Higher resolutions? Page formats? Supported geo-data? Layouting/templates? Client vs. server?
  10. 10. MAPFISH PRINT?
  11. 11. MAPFISH PRINT 3 Plugin Framework MapFish Print Web API / Security / Widgets Mapping Layout
  12. 12. PRINT PROCESS
  13. 13. YAML CONFIGURATION templates:   A4 Portrait: !template     reportTemplate: report.jrxml     attributes:       ...     processors:       ...           
  14. 14. YAML CONFIGURATION (ATTRIBUTES) templates:   A4 Portrait: !template     reportTemplate: report.jrxml     attributes:       title: !string {}       map: !map         width: 555         height: 730         maxDpi: 600       scalebar: !scalebar         width: 230         height: 40     processors:       ...           
  15. 15. YAML CONFIGURATION (PROCESSORS) templates:   A4 Portrait: !template     reportTemplate: report.jrxml     attributes:       ...     processors:     ­ !reportBuilder       directory: '.'     ­ !createMap       inputMapper: {map: map}       outputMapper: {mapSubReport: mapSubReport}     ­ !createScalebar {}           
  16. 16. REPORT DESIGNER: JASPERSOFT STUDIO
  17. 17. PRINT REQUEST {   "layout": "A4 Portrait",   "outputFormat": "pdf",   "attributes": {     "title": "Sample Print",     "map": {       "projection": "EPSG:3857",       "dpi": 72,       "center": [957352, 5936844],       "scale": 25000,       "layers": [         { "type": "osm", "baseURL": "http://tile       ]     }   } }
  18. 18. MAP WIDGETS
  19. 19. SUPPORTED GEO-DATA Vector GML/WFS GeoJSON Raster XYZ Tiles (OSM, ...) (Tiled) WMS WMTS GeoTIFF
  20. 20. WE GOT STYLE! Full GeoTools styling with SLD JSON styling format "[INTERSECTS(geometry, buffer(POLYGON (...), 200   "symbolizers": [     {       "strokeColor": "green",       "strokeWidth": 2,       "type": "line"     }   ] },
  21. 21. TABLES
  22. 22. SUPPORT FOR MULTIPLE MAPS (DATASOURCE)
  23. 23. CHARTS
  24. 24. EXTERNAL DATASOURCES
  25. 25. CLIENT SIDE SUPPORT (OpenLayers 3/Angular):ngeo Example :GeoExt 3 Example
  26. 26. PLUGGABLE ARCHITECTURE
  27. 27. MAPFISH PRINT 3 MapFish Print on GitHub github.com/mapfish/mapfish-print   This presentation bit.ly/foss4g-mfp   Find us on GitHub/Twitter Tobias: @tsauerwein Marion: @marionb
  28. 28. CREDITS FOR THESE GREAT PHOTOS!

×