MapFish Print, the open source map and report printing service: turn a JSON print spec into a real PDF, PNG or JPEG via a REST API, no browser rendering required.
MapFish Print is an open source Java print service that renders printable map and report documents from a JSON specification, entirely server side. A client (a GIS portal, an OpenLayers or GeoMapFish application, a script) POSTs a spec describing the layout, the map center and layers, and any titles or legends, and MapFish Print returns a finished PDF, PNG, JPEG, BMP or TIFF built with the JasperReports rendering engine. It has powered production cartographic printing for GIS platforms for over a decade and has no interactive UI of its own: it is a backend service that other applications call.
This image ships MapFish Print with one working example print layout out of the box, so you can generate a real map PDF from a single API call the moment the VM boots, then replace it with your own JasperReports templates and layer configuration for your own maps and reports.
cloudimg ships MapFish Print hardened and secure by default: the print API has no accounts of its own, so every instance generates its own HTTP Basic Auth password on first boot, stored in a root only file, and the service is reachable only through an nginx reverse proxy behind that per instance password. There is no default or shared credential in the image. The service itself runs on a loopback only Tomcat instance behind nginx for defence in depth, ships on a current, fully patched OpenJDK runtime, and comes with a paired deploy guide and 24/7 cloudimg support.