An interface manager to easily communicate with the MapFish Print servlet via an OpenLayers based webapplication.
If you're using OpenLayers in version 7 just run:
npm i --save @terrestris/mapfish-print-manager
For version 6 one might use the manager in version 6:
npm i --save @terrestris/mapfish-print-manager@6
For version 4 one might use the manager in version 1:
npm i --save @terrestris/mapfish-print-manager@1
// Import the manager. If you're using MapFish in version 2, you might want to
// import the `MapFishPrintV2Manager` instead.
import { MapFishPrintV3Manager } from '@terrestris/mapfish-print-manager';
// Construct the manager with a remote print servlet and an `ol.Map` instance
// (required).
const printManager = new MapFishPrintV3Manager({
url: 'https://10.10.10.10/print/',
map: olMap
});
// Initialize the manager. It will return a resolved `Promise` as soon as the
// capabilities are loaded from the given ressource, e.g. https://10.10.10.10/print/info.json.
printManager.init()
.then(() => {
// Prepare the print layout via the extent feature on the map and/or the
// usage of the setters like `printManager.setLayout()` and call
// `printManager.print()` to create the print document.
});
Do you want to see the Mapfish Print Manager in action? There are two examples showing how it works.
Start a locale instance for both MapFish Print version 2 and 3 by executing:
cd docker
docker-compose -f docker-compose.yml up --build
The print servlets are available under https://localhost:18083 (v2) and https://localhost:18082/print (v3) now.
Install all needed dependencies and start the development server with
npm i
npm start
You can now try out the example applications: