Übersicht
Dieses Widget ermöglicht den Kartendruck im ArcGIS-Pro-Stil in ArcGIS Experience Builder, ohne dass ein Druckdienst erforderlich ist. Geben Sie ein Layout aus ArcGIS Pro als Layoutdatei (.pagx) frei, importieren Sie es einmalig in den Widget-Einstellungen, und das Widget erstellt diese Seite im Browser anhand Ihrer Live-Karte neu: Kartenrahmen, Titel und Text, Nordpfeil, Maßstabsleiste, Legende, Bilder und Linien.
https://github.com/brianmcleer/print-advanced-widget
Hinweis: Importieren Sie in den Widget-Einstellungen eine ArcGIS-Pro-Layoutdatei (.pagx), um die Seite festzulegen. Optional können Sie auch einen Esri-Druckdienst verwenden, wenn Sie stattdessen einen serverseitigen ExportWebMap-Dienst nutzen möchten.
Was kann dieses Widget?
- Reproduziert ein ArcGIS-Pro-.pagx-Layout im Browser (Kartenrahmen, Text, Linien, Nordpfeil, Maßstabsleiste, Bilder, Legende), abgestimmt auf echte Pro-Ausgaben.
- Exportiert PDF und SVG als echte Vektorgrafiken sowie PNG32, PNG8, JPG, GIF, TIFF und EPS. Kein Druckdienst erforderlich.
- Optionaler Esri-Druckdienst (eine ExportWebMap-URL) für serverseitige Layouts; damit steht auch AIX zur Verfügung.
- Vorschau des Druckbereichs direkt auf der Karte, damit Sie vor dem Export sehen, was gedruckt wird. Aktuellen Maßstab beibehalten, aktuellen Kartenausschnitt beibehalten, festen Maßstab festlegen oder einen aus einer Liste auswählen – mit Sperrschalter.
- 12 Nordpfeil- und 9 Maßstabsleisten-Designs als Miniaturansichten sowie eine Option „Layoutstandard“.
- Ausgabekoordinatensystem (WKID), um in einer anderen Projektion als der Karte zu drucken.
- Tokens für Autor, Copyright und Quellenangaben. Export nur der Legende oder nur der Karte. Benutzerdefinierte Schriftarten per URL, einschließlich Google-Fonts-Import.
- Liste der letzten Exporte sowie XML-Import und -Export der gesamten Konfiguration.
- Administratoren können Standardeinstellungen und angebotene Formate festlegen sowie bestimmen, welche Steuerelemente Nutzern während der Laufzeit angezeigt werden.
Änderungsprotokoll:
15.10.2026:
Die Exportliste wurde überarbeitet. Jede fertige Datei wird jetzt mit dem Status „Bereit“, der Uhrzeit, der Seitenzahl und der Dateigröße angezeigt. Klicken Sie auf den Namen, um die Datei in einem neuen Tab zu öffnen, oder auf „Speichern“, um sie erneut herunterzuladen. Technische Details und Hinweise finden Sie hinter einer Schaltfläche „Details“, damit die Liste übersichtlich bleibt. Die Dateien bleiben in der Liste, solange die App geöffnet ist – auch wenn Sie das Druckfenster schließen.
12.10.2026: Das Widget passt sich jetzt der App-Sprache an (?locale=, über die Sprachauswahl, das ArcGIS-Profil oder den Browser) und unterstützt 39 Sprachen, einschließlich der Hilfeanleitung.
Eigene benutzerdefinierte Widgets? Dasselbe kostenlose Tool, exb-i18n-kit, kann sie mit einem einzigen Befehl übersetzen: localize. So ergänzt es die einzelnen Formulierungen:
- Zuerst Esri. Es liest die Übersetzungen aus, die bereits in Ihrer Experience-Builder-Installation vorhanden sind. So wird beispielsweise „Zoom to“ genauso formuliert wie in den Esri-eigenen Widgets.
- Standardbegriffe. Einheiten wie Fuß und Acres stammen aus Unicode CLDR, derselben Datengrundlage, die auch Browser verwenden.
- Gemeinsamer Übersetzungsspeicher. Alles Übrige stammt aus einem gemeinsamen Wörterbuch, das mit LibreTranslate, einem Open-Source-Übersetzungsdienst, sowie den Opus-MT-Modellen von Helsinki-NLP für Bosnisch, Kroatisch und Serbisch erstellt wurde. Es läuft kostenlos auf GitHub – Sie benötigen also weder einen API-Schlüssel noch ein Konto.
- Einbindung. Außerdem findet es englische Texte, die außerhalb der Übersetzungsdatei des Widgets fest codiert sind, etwa eine Standardeinstellung oder eine Hilfeanleitung, und bindet sie so ein, dass auch sie übersetzt werden.
Manuelle Korrekturen haben immer Vorrang vor maschinellen Übersetzungen und werden niemals überschrieben. Einige Übersetzungen sind maschinell erstellt. Wenn Ihnen eine unpassende Formulierung auffällt, antworten Sie hier mit einem besseren Vorschlag.
24.09.2026:
- Die Seitenvorschau befindet sich jetzt unter dem Kartentitel. So ist das Fenster von oben nach unten aufgebaut: Layout auswählen, Titel eingeben, Seite ansehen, exportieren.
- Die erweiterten Optionen sind in sechs Karten gegliedert: Druckbereich, Kartenserie, Auf der Karte, Seitentext, Stil und Ausgabe. Jede Karte lässt sich über ihre Überschrift öffnen und schließen, merkt sich Ihre Auswahl und zeigt im geschlossenen Zustand eine einzeilige Zusammenfassung an, zum Beispiel „PDF, 300 DPI“ oder „Legende, Gitternetz“.
- Die Kartenserie lässt sich einfach ein- und ausschalten; dabei wird das Format automatisch auf PDF gesetzt.
- Die Einstellungen folgen derselben Reihenfolge, sodass die Konfiguration durch Administratoren dem entspricht, was Nutzern angezeigt wird. Administratoren können außerdem festlegen, welche Karten anfangs geöffnet sind.
23.09.2026:
- GeoPDF. Öffnen Sie das PDF in Avenza oder Field Maps, um den blauen Punkt anzuzeigen. Funktioniert auch mit GeoTIFF, World-Dateien und KMZ.
- PDF-Ebenen. Blenden Sie Karte, Gitternetz, Legende und Text in Acrobat ein oder aus.
- Live-Seitenvorschau. Sehen Sie beim Schwenken die gesamte gedruckte Seite.
- Vektorebenen. Klare Linien und durchsuchbare Beschriftungen statt Pixeln (experimentell).
- Datengesteuerte Seiten. Eine Seite pro Flurstück, Park oder Projekt. Funktioniert mit Gruppen-Layern und Filtern und fügt den Namen des Features zum Titel hinzu.
- Fortschritt der Kartenserie. Zeigt „Seite 3 von 12“ und die verbleibende Zeit an; mit Schaltfläche „Abbrechen“.
- Seitenlimits. Da die Verarbeitung im Browser erfolgt, können Administratoren einen Warnwert und eine maximale Seitenzahl festlegen.
- Gitternetz: Linien- und Schriftfarben für Gitternetze im Widget und als Standard in den Einstellungen ändern.
09.09.2026:
- Ausgewählte Features werden jetzt mitgedruckt. Wenn Sie auf der Karte Flurstücke oder andere Features ausgewählt haben, werden sie mit einem cyanfarbenen Umriss über der Karte gedruckt. Das Widget erfasst die Karte in einer ausgeblendeten Ansicht, die dieselben Layer wie Ihre Karte verwendet, aber nicht dieselbe Kartenansicht. Eine Auswahlhervorhebung gehört zur Ansicht. Deshalb fehlte ein ausgewähltes Flurstück früher im Druck, obwohl alle anderen Grafiken vorhanden waren. Die Auswahl wird nun als Vektor auf die Seite gezeichnet und dadurch in PDF und SVG gestochen scharf gedruckt. Ihre Live-Karte bleibt dabei unverändert. Im Exportfenster gibt es jetzt die Option „Ausgewählte Features“, die standardmäßig aktiviert ist. Eine entsprechende Standardeinstellung gibt es auch in den Widget-Einstellungen.
- Integrierte Hilfeanleitung. Über eine Schaltfläche „Hilfe“ in der Widget-Kopfzeile wird eine kurze, durchsuchbare Anleitung in einfacher Sprache geöffnet: drei Schritte für den Einstieg, die Funktion jeder Option, die Wahl des Dateityps und Hinweise zur Überprüfung bei Problemen. Es wird nur Hilfe zu den Funktionen angezeigt, die in Ihrer App tatsächlich aktiviert sind. So liest niemand etwas über eine Legende oder Kartenserie, die im eigenen Layout gar nicht verwendet wird.
04.09.2026:
Nicht mehr in der Beta – das Widget ist jetzt live auf meinen Sites. Neu hinzugekommen sind:
- KMZ-Export (Google Earth) für reine Kartenexporte hinzugefügt
- Georeferenzierte Rasterausgabe hinzugefügt: echtes GeoTIFF für TIFF, World-Datei plus
.prj für PNG, JPG und GIF - Unterstützung für Koordinatensysteme ist jetzt universell statt auf eine feste Liste beschränkt und umfasst
.prj-Ausgabe, GeoTIFF-Kodierung und Tokens für Koordinatensystemnamen - Vollständige Unterstützung für dynamischen Text aus ArcGIS Pro hinzugefügt, einschließlich Zeitangaben, Quellenangaben von Service-Layern, Raumbezugseigenschaften, Koordinaten des Kartenrahmens und Tokens für Kartenserienseiten
- Maßstabsabhängige Filterung der Legende hinzugefügt
- Bei Kartenserien wird das Legendenfeld auf jeder Seite gedruckt und sein Gitternetz anhand des effektiven Kartenrahmens neu erstellt
- Der XML-Import und -Export der Einstellungen übernimmt jetzt Gitternetz-, Übersichtskarten- und Legendenstandards vollständig
- Symbol-, Text- und Linienstärken bei hoher DPI korrigiert
- Fehler behoben, durch den Bilddaten bei großen Maßstäben nicht maßstabsgetreu gedruckt wurden
- Fehlende Legendensymbole für Gruppen von Kartendienst-Layern behoben
- Platzierung der Legende unten links und unten rechts behoben
- „Auf alle Layouts anwenden“ korrigiert
- Fehler behoben, durch den die Legendenoption beim Layoutwechsel nicht aktualisiert wurde
- Die Legende berücksichtigt jetzt die
.pagx-Spaltenanzahl und die Sichtbarkeit des Titels
12.08.2026:
Fehler behoben, durch den Legendeneinträge in Experience Builder 1.21 als graue Quadrate dargestellt wurden. Das neuere ArcGIS Maps SDK rendert das Legenden-Widget hinter einem Shadow DOM, wodurch die Symbole bei der Druckaufbereitung verborgen wurden. Die Symbolerfassung durchdringt jetzt das Shadow DOM, unterstützt die neue Komponente arcgis-legend und greift automatisch auf den Aufbau der Symbole aus den Layer-Renderern zurück, falls bei der Erfassung etwas fehlt. An Ihren Karten oder Layouts sind keine Änderungen nötig. Vielen Dank an @ncramer11 für den Hinweis über GitHub.
23.07.2026:
Das Widget Map Switcher wurde für Experience Builder 1.21 aktualisiert, um TypeScript-Editorfehler zu beheben, darunter Typisierungsprobleme bei React-Komponenten und Importe unveränderlicher Konfigurationen. Außerdem wurde die Widget-Version erhöht; die neueste Version ist jetzt auf GitHub verfügbar.
17.07.2026:
Komplett überarbeitetes Legendensystem
- Die Legende liest jetzt das Live-Legenden-Widget auf der Seite aus – genau das, was Nutzer sehen: Layer-Reihenfolge, verschachtelte Gruppen, Sichtbarkeit und Unterlayer-Hierarchie. Über die Einstellung „Legendenquelle“ lässt sich ein bestimmtes Widget auswählen oder automatisch erkennen.
- Symbologie in hoher Auflösung: Symbole von Kartendiensten werden mit 288 DPI aus der REST-Legende abgerufen und passend den Legendeneinträgen zugeordnet; Vektorsymbole werden mit höherer Auflösung gerendert; Symbole behalten ihre korrekten Proportionen (Liniensymbole bleiben schmal, Markierungen rund) – keine verzerrten oder leeren Flächen mehr
- Neue Platzierungen in angrenzenden Bereichen (rechts, links, unten): Der Kartenrahmen wird verkleinert, um Platz zu schaffen. Die Breite des Bereichs richtet sich nach dem Inhalt, die Spalten werden ausgewogen angeordnet, und der Bereich passt sich an Layout-Elemente wie Logos in den Ecken an. Der im Layout definierte Rahmen umschließt Karte und Legende gemeinsam, sodass in Pro gestaltete Kompositionen erhalten bleiben.
- Mehrseitige Legenden: Mit der Platzierung „Zusätzliche Seiten (nur PDF)“ wird die Legende bei voller Schriftgröße auf so viele vollständige Seiten verteilt wie nötig – mit Fortsetzungsüberschriften sowie derselben Seitengröße und Ausrichtung wie auf der Kartenseite.
- Intelligente Anpassung: Das Widget misst die tatsächliche Live-Legende und gibt konkrete Warnungen aus („87 Einträge; etwa 23 passen nicht“). Wenn Einträge wegfallen würden, werden zusätzliche Seiten automatisch als Standard gewählt (mit Ein-Klick-Rückkehr; die Einstellung wird auch automatisch zurückgesetzt, wenn Layer ausgeschaltet werden). Nicht vollständig ausgegebene Exporte werden in der Ergebniszeile gekennzeichnet.
- Lange Beschriftungen werden auf bis zu drei Zeilen umgebrochen, bevor sie sinnvoll mit Auslassungspunkten gekürzt werden; die Überschriften werden zusammen mit ihren Einträgen gehalten.
- Administratoren können die Legende pro Layout in den Einstellungen ein- und ausschalten; auch für Endnutzer ist dies im Widget möglich. Dazu kommt eine Auswahl der Platzierung zur Laufzeit.
Maßstabsleisten
- Vollständiger Katalog mit 12 Designs, einschließlich „Alternierend“ (mit Teilstrichen), „Linie mit Beschriftungen darunter“ und der Maßstabsleiste mit Mittelachse. Jedes Design hat eine genaue Vorschau.
- Echte doppelte Maßstabsleisten aus Pro: „Doppelt alternierend“ und „Doppelt hohl“ zeigen stets zwei Messungen mit gemeinsamem Nullpunkt. Die zweite Einheit wird automatisch passend ausgewählt (Meilen–Fuß, Meter–Kilometer) und kann geändert werden.
- Kollisionsfreie Einheitenbeschriftungen für alle Designs sowie für einfache und doppelte Maßstabsleisten
Bedienbarkeit und Arbeitsablauf
- Nutzer können zur Laufzeit die Legendenplatzierung und den Gitternetztyp ändern; die Verfügbarkeit richtet sich nach den Sichtbarkeitseinstellungen der Administratoren.
- Die Felder „Autor“ und „Copyright“ werden jetzt immer gedruckt: Wenn das Layout kein Textelement dafür enthält, erscheinen sie als übersichtliche kartografische Quellenzeile am unteren Seitenrand.
- Schaltflächen „Auf alle Layouts anwenden“ für Übersichts-, Gitternetz- und Legendeneinstellungen. Beim erneuten Import einer .pagx-Datei wird das passende Layout jetzt direkt aktualisiert und seine Einstellungen bleiben erhalten.
- Die Live-Vorschau des Druckbereichs berücksichtigt vor dem ersten Export das Legendenfeld, den reinen Kartenmodus und explizite Pixelabmessungen
- Performance-Optimierung (paralleler Aufbau der Legende und Erfassung, Zwischenspeicherung von Farbfeldern, parallele Extraktion) und eine WCAG-Überprüfung der Barrierefreiheit aller Steuerelemente
07.09.2026:
Hinzufügen @ncramer11 als Mitwirkenden. Das unten stehende Problem wurde behoben.
Das Problem: setting.tsx bezieht seine Dropdown-Listen (Formate, Nordpfeilstile, Maßstabsleistenstile und Einheiten) aus runtime/lib/pdfRenderer.ts. Diese Datei importiert außerdem vier esri/* Module, wodurch diese in das kompilierte Einstellungs-Bundle aufgenommen werden. Offenbar kann die Builder-Seite die esri-Module nicht immer laden, wenn das Einstellungsfenster geöffnet wird. In diesem Fall schlägt das Einstellungsmodul mit der Meldung window.require is not a function in der Konsole fehl, und im Builder bleiben das Widget und das Einstellungsfenster beim Ladekreis hängen.
Commit 1: Verschiebt diese Dropdown-Listen in eine neue Datei, src/printConstants.ts, die nichts aus esri importiert. pdfRenderer.ts exportiert sie erneut, sodass sich am Laufzeitcode überhaupt nichts ändert (widget.tsx bleibt unverändert), und setting.tsx importiert nun aus der neuen Datei. Dadurch verweist das Einstellungs-Bundle nicht mehr auf esri und wird problemlos geladen. Außerdem wurde seine Größe von etwa 3,3 MB auf etwa 350 KB reduziert. Ich habe in printConstants.ts einen Kommentar eingefügt, der erklärt, warum die Datei frei von esri-Importen bleiben muss.
Commit 2: Ersetzt die sieben indentLevel={1} Props bei SettingRow durch indented. Mein Editor markiert indentLevel als Fehler, weil es in den ExB-1.20-Typdefinitionen nicht vorhanden ist. Da sich am Verhalten nichts ändert, kannst du diesen Commit gern überspringen.
- Neu: Übersichtskarte als Inset. Aktiviere eine herausgezoomte Übersichtskarte mit einer Ausdehnungsmarkierung in einer beliebigen Ecke des Kartenrahmens. Die Konfiguration erfolgt vollständig in den Widget-Einstellungen; Änderungen am Pro-Layout sind nicht erforderlich.
- Neu: Gitter und Gradnetze im Stil von ArcGIS Pro. Wähle ein Gradnetz (Breiten- und Längengrade, funktioniert in jedem Koordinatensystem), ein metrisches Gitter (Karteneinheiten) oder ein Referenzgitter (A-1-Raster). Linienstile, Farben, Abstände und Beschriftungen lassen sich konfigurieren. Die Beschriftungen enthalten Himmelsrichtungszusätze und Halos, damit sie auf Bildmaterial gut lesbar sind.
- Neu: Laufzeitoptionen ermöglichen es Nutzern, die Inset-Karte und das Gitter für jeden Druck ein- oder auszuschalten.
- Verbessert: Die Begrenzung der Kartenerfassung wird nun automatisch anhand der Grafikkarte festgelegt, sodass große Layouts schärfer gedruckt werden. Die Fortschrittsanzeige des Exports gibt die effektive DPI-Zahl an.
- Verbessert: Lange URLs im Quellenhinweis werden nun umgebrochen, statt über den Seitenrand hinauszulaufen.
- Behoben: „1 Zoll entspricht 0 Meilen“ bei Layouts mit Meilenangaben in Stadtmaßstäben.
02.07.2026:
Erste Betaversion. Auf GitHub veröffentlicht. Ich freue mich über Feedback, bevor ich die Version als stabil kennzeichne.