Die Open-Source-Lösung Mapbender bietet für WebGIS-Anwendungen verschiedene Druckmöglichkeiten. Unter anderem gibt es eine Druckausgabe, die auf Basis von anpassbaren Vorlagen PDF-Dateien des gewünschten Kartenausschnitts erzeugt.
Bei dieser Druckmöglichkeit sind je nach Konfiguration Ausdrucke im Quer- und Hochformat von A4 bis A0 möglich. Das Layout der Vorlagen kann dabei individuell angepasst werden.
Druckaufträge können in Mapbender seit der Version 3.0.8 durch einen eigenständigen serverseitigen Dienst abgearbeitet werden. Die Druckwarteschleife (mapbender.print.queue) wartet auf Druckaufträge, bearbeitet sie und sendet nach Fertigstellung eine Information zur Anwendung. Dies hat den Vorteil, dass bei großformatigen Ausdrucken das Arbeiten im Client nicht eingeschränkt wird. Die Druckwarteschleife ist nicht standardmäßig aktiv, sie kann allerdings mit wenigen Schritten aktiviert werden.
Mit Aktivierung der Druckwarteschleife stehen den Anwendenden folgende Funktionen zur Verfügung:
Die Druckwarteschleife muss in der Konfigurationsdatei parameters.yml aktiviert werden. Fügen Sie dazu die folgenden Zeile hinzu:
mapbender.print.queueable: true
Optional können Sie einen Pfad definieren, unter dem die PDF-Dateien zukünftig abgelegt werden sollen. Standardmäßig werden die Dateien unter ./web/prints abgelegt. Dieses Verzeichnis muss zuvor im Dateisystem erstellt werden.
Die Definition eines alternativen Verzeichnisses zum Speichern der PDF-Dateien erfolgt ebenfalls in der Datei parameters.yml:
mapbender.print.queue.storage_dir: "/var/www/mapbender/web/prints"
Neben der Konfiguration muss nun noch ein Dienst aktiviert werden, der die Druckaufträge bearbeitet. Dieser kann über den folgenden Befehl mit zusätzlichen Parametern gestartet werden:
app/console mapbender:print:queue:next --max-jobs=0 --max-time=86100
Dabei bedeuten
In Mapbender kann konfiguriert werden, ob die PDFs der erfolgten Druckaufträge gespeichert werden sollen. Diese Einstellung kann pro Anwendung über den Modus Warteschleife und der Angabe "privat" oder "public" aktiviert werden.
Achtung: Der Modus Warteschleife taucht erst im Element auf, wenn in der Datei parameters.yml die Konfiguration wie oben beschrieben erweitert wurde.
Im Element erscheinen dann zwei neue Felder – Modus und Warteschleife.
Für die Nutzung der Warteschleife muss der Modus von Direktdruck auf Warteschleife umgestellt werden.
Ist die Warteschleife auf "privat" gesetzt, werden dem einzelnen Benutzer nur die eigenen Druckaufträge angezeigt. So kann ganz einfach auf die bereits erstellten PDFs zugegriffen werden. Die alternative Einstellung ist "global", so dass alle Anwendenden auf alle erstellten Druckaufträge zugreifen können.
Neben dem Link zum PDF wird das Erstellungsdatum angezeigt. Ein PDF kann erneut aufgerufen oder aus der Liste gelöscht werden.
Nach Absenden der Druckaufträge wird der Fertigstellungsstatus angezeigt. Bei großen Ausdrucken kann die Erstellung einige Zeit in Anspruch nehmen.
Mapbender speichert die Informationen zu jedem Druckauftrag in der Datenbank. Druckaufträge können erneut mit aktualisierten Karteninhalten ausgeführt werden.
In der aktuellen Mapbender-Version ist dies über die Konsole möglich. Für den Befehl wird die ID des jeweiligen Druckauftrags benötigt. Diese ID kann über die Liste der Ausdrucke in der Mapbender-Anwendung ermittelt werden.
app/console mapbender:print:queue:rerun 1
Starting processing of queued job #1
PDF for queued job #1 rendered to /../mapbender/app/../web/prints/mapbender_20210401.pdf
Die Information zum Druckauftrag kann auch im JSON- oder YAML-Format ausgespielt und erneut für einen Ausdruck verwendet werden.
Der folgende Befehl gibt Druckaufträge in eine Datei aus:
app/console mapbender:print:queue:dumpjob 2 > print_configuration.json
Dieser Befehl führt einen Druckauftrag aus einer Druck-Konfigurationsdatei heraus aus:
app/console mapbender:print:runJob print_configuration.json /tmp/print.pdf
Die JSON-Dateien können angepasst werden. So kann beispielsweise die Bonner Innenstadt leicht mit vier Druckaufträgen abgedeckt und ausgedruckt werden, indem das Zentrum des Kartenausschnitts verschoben wird.
Im untenstehenden Beispiel wurde lediglich die Angabe zu x und y unter center angepasst und der Ausschnitt dadurch verschoben.
...
"width": 1424,
"height": 931,
"center": {
"x": 365073.5945409646,
"y": 5623212.528926329
},
"extent": {
"width": 2200,
"height": 1660
},
...
Das Ergebnis könnte dann wie in den folgenden Druckerzeugnissen aussehen:
In einem Kundenprojekt der WhereGroup wurde der Druck so angepasst, dass eine Druckserie entlang einer gewünschten Trasse generiert wird. Dieser neu entwickelte Seriendruck-Plot wird im Detail im Infobrief 01 | 2021 beschrieben: "Seriendruck-Plot – eine neue Mapbender-Funktion bei der Gasnetz Hamburg GmbH".
Die Dokumentation zur Konfiguration der Druckwarteschleife findet sich unter:
https://doc.mapbender.org/de/functions/export/printclient.html#warteschleifendruck
https://doc.mapbender.org/en/customization/commands.html#print
Weitere Beiträge, die Dich interessieren könnten: