Drucken in Webanwendungen

Das Drucken einer Karte aus einer Web-Anwendung stellt mehrere Herausforderungen dar, darunter das Zusammenführen mehrerer Services, das Beibehalten der Einstellungen für die Layer-Sichtbarkeit, das Hinzufügen von Elementen zum Layout und das Zeichnen von Grafiken oben in der Karte. Um Ihnen bei diesen Herausforderungen zu helfen, umfasst ArcGIS for Server einen Geoverarbeitungs-Service namens PrintingTools. Wenn Sie Ihre Web-Anwendungen entwickeln, können Sie den PrintingTools-Service aufrufen und ein druckfähiges Bild mit hoher kartographischer Qualität abrufen. Für fortgeschrittenes Drucken können Sie ein Python-Skript verwenden, um die Webkarte in ein ArcMap-Dokument (MXD) zu konvertieren und die MXD-Datei für das Drucken in verschiedene Formate zu exportieren.

Der PrintingTools-Service

PrintingTools ist ein vorkonfigurierter Service im Ordner "Utilities". Dieser Service wird standardmäßig gestoppt. Sie müssen ArcGIS for Desktop oder ArcGIS for Server Manager verwenden, um den Service zu starten, wenn sie Druck-Workflows unterstützen möchten.

Die ArcGIS-Web-APIs bieten Widgets, die mit dem PrintingTools-Service kommunizieren können, um eine druckfähige Karte zu erhalten. Sie stellen die URL des PrintingTools-Service bereit, und die Widgets erledigen die restliche Arbeit.

Wenn Sie den PrintingTools-Service außerhalb der Web-APIs aufrufen müssen, oder wenn Sie das zugrunde liegende Werkzeug "Webkarte exportieren" direkt aus ArcGIS for Desktop oder einem Python-Skript ausführen möchten, müssen Sie eine JSON-Definition (JavaScript Object Notation) des aktuellen Status der Karte gemäß der ExportWebMap-Spezifikation von Esri angeben. Dies ist ein erweiterter Workflow, den Sie nicht benötigen, wenn Sie die Web-APIs verwenden.

PrintingTools umfasst vordefinierte Kartenlayouts, aus denen Sie auswählen können. Wenn Sie Ihre eigenen Kartenlayouts verwenden möchten, können Sie Ihren eigenen Service für das Drucken von Webkarten ähnlich wie PrintingTools veröffentlichen und damit auf Ihren eigenen Layoutordner verweisen. Weitere Informationen erhalten Sie unter Verwenden eigener Layouts für den Druck und Lernprogramm: Veröffentlichen zusätzlicher Services zum Drucken.

Wenn der Karten-Service gecacht wird, könnte der PrintingTools-Service eine Auflösung verwenden, die für große Formate oder eine hohe Druckqualität viel zu niedrig ist (z. B. 96 dpi). Wenn Sie im gecachten Karten-Service mit höheren Auflösungen drucken möchten, empfiehlt sich die Aktivierung dynamischer Layer. Auf diese Weise kann der Druck-Service (über eine Anforderung zum Kartenexport) Kartenbilder in der gewünschten Auflösung (z. B. 300 dpi) statt Kacheln mit niedrigerer Auflösung abrufen. Weitere Informationen finden Sie unter Dynamische Layer.

Erweitertes Drucken mithilfe von Python

Für erweiterte Druckszenarien, zum Beispiel Aufträge, die große Papiergrößen verwenden, verwenden Sie PrintingTools überhaupt nicht. Stattdessen können Sie die ConvertWebMapToMapDocument-Funktion im Python-Modul "arcpy.mapping" verwenden, das in ArcGIS erhalten ist. Nachdem das Dokument konvertiert wurde, ist die vollständige Webkarte im Kartendokument vorhanden. Das Kartendokument kann dann weiter geändert werden, bevor es schließlich gedruckt oder in ein allgemeines Format wie PDF exportiert wird.

Die Funktion ConvertWebMapToMapDocument wird häufig zur Ersetzung von Service-Layers durch lokale Vektordaten, Erstellung von Kartensammlungen, Steuerung des Aussehens der Legende oder für den Export unterschiedlicher Formate mithilfe erweiterter Optionen verwendet.

Um ihr Python-Skript für eine Webanwendung verfügbar zu machen, können Sie das Skript über einen ArcGIS for Server-Geoverarbeitungs-Service bereitstellen. Weitere Informationen finden Sie unter Erweiterte Druckfunktionen für Webkarten.

5/16/2014