Descripción general
Este widget incorpora la impresión de mapas al estilo de ArcGIS Pro en ArcGIS Experience Builder sin necesidad de un servicio de impresión. Comparte un diseño de ArcGIS Pro como archivo de diseño (.pagx), lo importas una vez en la configuración del widget y este reconstruye esa página en el navegador con tu mapa en tiempo real: marco del mapa, título y texto, flecha norte, barra de escala, leyenda, imágenes y líneas.
https://github.com/brianmcleer/print-advanced-widget
Nota: Importa un archivo de diseño de ArcGIS Pro (.pagx) en la configuración del widget para definir la página. También hay una opción de servicio de impresión de Esri para usar un servicio ExportWebMap del lado del servidor.
¿Qué puede hacer este widget?
- Reproduce un diseño .pagx de ArcGIS Pro en el navegador (marco del mapa, texto, líneas, flecha norte, barra de escala, imágenes y leyenda), calibrado con resultados reales de Pro.
- Exporta PDF y SVG como vectores reales, además de PNG32, PNG8, JPG, GIF, TIFF y EPS. No requiere servicio de impresión.
- Opción de servicio de impresión de Esri (una URL de ExportWebMap) para diseños del lado del servidor, que también añade AIX.
- Vista previa del área de impresión dibujada en el mapa, para que veas qué se imprimirá antes de exportar. Mantén la escala actual, conserva la extensión actual, establece una escala fija o elige una de una lista, con un interruptor de bloqueo.
- 12 estilos de flecha norte y 9 estilos de barra de escala presentados como miniaturas, además de una opción predeterminada del diseño.
- Sistema de coordenadas de salida (WKID) para imprimir en una proyección distinta a la del mapa.
- Tokens de autoría, derechos de autor y atribución. Exportación solo de leyenda y mapa. Fuentes personalizadas por URL, incluida la importación de Google Fonts.
- Lista de exportaciones recientes e importación y exportación XML de toda la configuración.
- Control de administrador sobre la configuración predeterminada, los formatos disponibles y los controles que verán los usuarios en tiempo de ejecución.
Registro de cambios:
15/10/2026:
Se renovó la lista de exportaciones. Cada archivo terminado ahora aparece como Listo, con la hora, el número de páginas y el tamaño. Haz clic en el nombre para abrirlo en una pestaña nueva o en Guardar para descargarlo de nuevo. Los detalles técnicos y las notas están detrás de un botón Detalles para que la lista se mantenga ordenada. Los archivos permanecen en la lista mientras la aplicación esté abierta, incluso si cierras el panel de impresión.
12/10/2026: El widget ahora sigue el idioma de la aplicación (?locale=, el selector de idioma, el perfil de ArcGIS o el navegador) en 39 idiomas, incluida la guía de ayuda.
¿Tienes tus propios widgets personalizados? La misma herramienta gratuita, exb-i18n-kit, puede traducirlos con un solo comando: localize. Así completa cada frase:
- Primero, Esri. Lee las traducciones que ya están en tu instalación de Experience Builder, así que una frase como «Zoom to» usa la misma traducción que los propios widgets de Esri.
- Términos estándar. Los nombres de unidades, como pies y acres, provienen de Unicode CLDR, los mismos datos que usan los navegadores.
- Memoria de traducción compartida. Lo que queda se traduce con un diccionario compartido creado con LibreTranslate, un traductor de código abierto, además de los modelos Opus-MT de Helsinki-NLP para bosnio, croata y serbio. Se ejecuta gratis en GitHub, así que no necesitas una clave de API ni una cuenta.
- Integración. También detecta el texto en inglés codificado fuera del archivo de traducción del widget, como una configuración predeterminada o una guía de ayuda, y lo conecta para que también se traduzca.
Las correcciones manuales siempre prevalecen sobre las automáticas y nunca se sobrescriben. Algunas traducciones se generan automáticamente, así que responde aquí con una mejor versión si encuentras alguna que no suene bien.
24/09/2026:
- La vista previa de la página ahora aparece debajo del título del mapa, así que el panel se lee de arriba abajo: elige un diseño, escribe un título, revisa la página y exporta.
- Las opciones avanzadas están organizadas en seis tarjetas: Área de impresión, Serie de mapas, En el mapa, Texto de página, Estilo y Salida. Cada una se abre y se cierra desde su encabezado, recuerda tu elección y muestra un resumen de una línea al cerrarse, como «PDF, 300 DPI» o «Leyenda, cuadrícula».
- La serie de mapas se activa con un simple interruptor y establece el formato PDF automáticamente.
- La configuración sigue el mismo orden, así que lo que configura un administrador coincide con lo que ven los usuarios. Los administradores también pueden elegir qué tarjetas aparecen abiertas inicialmente.
23/09/2026:
- GeoPDF. Abre el PDF en Avenza o Field Maps y verás el punto azul. También funciona con GeoTIFF, archivos de georreferenciación y KMZ.
- Capas de PDF. Activa o desactiva el mapa, la cuadrícula, la leyenda y el texto en Acrobat.
- Vista previa de la página en tiempo real. Mira la página impresa completa mientras desplazas el mapa.
- Capas vectoriales. Líneas nítidas y etiquetas que se pueden buscar, en lugar de píxeles (experimental).
- Páginas basadas en datos. Una página por parcela, parque o proyecto. Funciona con capas de grupo y filtros, y añade el nombre de la entidad al título.
- Progreso de la serie de mapas. Muestra «Página 3 de 12» y el tiempo restante, con un botón Cancelar.
- Límites de páginas. Se ejecuta en el navegador, así que los administradores pueden establecer un aviso y un número máximo de páginas.
- Cuadrícula: cambia el color de las líneas y las fuentes de la cuadrícula en el widget y establece el valor predeterminado en la configuración.
09/09/2026:
- Ahora se imprimen las entidades seleccionadas. Si tienes parcelas u otras entidades seleccionadas en el mapa, se imprimen con un contorno cian sobre el mapa. El widget captura el mapa en una vista fuera de pantalla que comparte las capas del mapa, pero no su vista; el resaltado de la selección pertenece a la vista, por lo que antes podía faltar una parcela seleccionada en una impresión que incluía todos los demás gráficos. Ahora la selección se dibuja en la página como vector, así que se imprime con nitidez en PDF y SVG y no se modifica nada en el mapa en vivo. En el panel de exportación hay un interruptor de Entidades seleccionadas, activado de forma predeterminada, y un valor predeterminado correspondiente en la configuración del widget.
- Guía de ayuda integrada en el widget. Un botón Ayuda en el encabezado del widget abre una guía breve y fácil de buscar, escrita en lenguaje sencillo: tres pasos para empezar, qué hace cada opción, qué tipo de archivo elegir y qué revisar cuando algo no parece funcionar. Solo muestra información sobre las funciones que están activadas en tu aplicación, para que nadie lea sobre una leyenda o una serie de mapas que su diseño no utiliza.
04/09/2026:
Ya no está en Beta; lo tengo como widget activo en mis sitios. Las nuevas funciones son:
- Se añadió la exportación a Google Earth (KMZ) para las exportaciones solo de mapa
- Se añadió la salida ráster georreferenciada: GeoTIFF real para TIFF y archivo de georreferenciación más
.prj para PNG, JPG y GIF - La compatibilidad con sistemas de coordenadas ahora es universal, en lugar de limitarse a una lista fija; incluye la salida
.prj, la codificación de GeoTIFF y los tokens de nombre del sistema de coordenadas - Se añadió compatibilidad completa con el texto dinámico de ArcGIS Pro, incluidos la hora, los créditos de las capas de servicio, las propiedades de referencia espacial, las coordenadas del marco del mapa y los tokens de página de series de mapas
- Se añadió el filtrado de leyenda dependiente de la escala
- La serie de mapas imprime el panel de leyenda en cada página y vuelve a generar su cuadrícula según el marco efectivo
- La importación y exportación del XML de configuración ahora conserva la cuadrícula, la vista general y los valores predeterminados de la leyenda
- Se corrigieron los tamaños de símbolos, texto y líneas con DPI altos
- Se corrigió la impresión de imágenes, que no respetaba la escala en escalas grandes
- Se corrigió la ausencia de muestras de leyenda para los grupos de servicios de mapas
- Se corrigió la ubicación de la leyenda en las esquinas inferior izquierda e inferior derecha
- Se corrigió «Aplicar a todos los diseños»
- Se corrigió el interruptor de leyenda, que no se actualizaba al cambiar de diseño
- La leyenda ahora respeta la
.pagx cantidad de columnas y la visibilidad del título
12/08/2026:
Se corrigieron los elementos de leyenda que aparecían como cuadrados grises en Experience Builder 1.21. ArcGIS Maps SDK, en su versión más reciente, representa el widget Leyenda detrás del Shadow DOM, lo que ocultaba las muestras de símbolos al recopilar elementos para imprimir. Ahora la extracción de muestras atraviesa el Shadow DOM, es compatible con el nuevo componente arcgis-legend y, si no se obtienen suficientes muestras, recurre automáticamente a crear símbolos a partir de los renderizadores de las capas. No es necesario modificar los mapas ni los diseños. Gracias a @ncramer11 por informarlo a través de GitHub.
23/07/2026:
Se actualizó el widget Map Switcher para Experience Builder 1.21 con el fin de corregir errores del editor de TypeScript, incluidos los tipos de componentes de React y las importaciones de configuración inmutables. También se actualizó la versión del widget y la última versión ya está disponible en GitHub.
17/07/2026:
Renovación del sistema de leyendas
- La leyenda ahora lee el widget Leyenda activo en la página, exactamente tal como lo ve el usuario: orden de las capas, anidación de grupos, visibilidad y jerarquía de subcapas. Incluye una opción de fuente de leyenda para vincular un widget específico o detectarlo automáticamente
- Simbología de alta resolución: las muestras de servicios de mapas se obtienen de la leyenda REST a 288 DPI y se emparejan con las filas de la leyenda según su contexto; las muestras vectoriales se sobremuestrean; los símbolos se dibujan con su relación de aspecto real (las muestras de líneas se mantienen finas y los marcadores, redondos), sin zonas estiradas ni en blanco
- Nuevas ubicaciones para paneles adyacentes (derecha, izquierda, abajo): el marco del mapa se reduce para dejar espacio; el ancho del panel depende del contenido y distribuye las columnas de forma equilibrada; el panel se ajusta alrededor de los elementos del diseño, como los logotipos de las esquinas; y el borde del marco definido en el diseño envuelve conjuntamente el mapa y la leyenda para conservar intactas las composiciones diseñadas en Pro
- Leyendas de varias páginas: la ubicación «Páginas adicionales (solo PDF)» distribuye la leyenda en tantas páginas completas como sea necesario, con el tamaño de fuente completo, encabezados de continuación y el mismo tamaño y orientación de página que la página del mapa
- Ajuste inteligente: el widget mide la leyenda real y muestra avisos concretos («87 elementos; es posible que no quepan unos 23»), selecciona automáticamente páginas adicionales cuando se omitirían elementos (con opción para revertirlo en un clic, y revierte la selección por sí solo al desactivar capas) y señala las exportaciones truncadas en la fila de resultados
- Las etiquetas largas se ajustan hasta ocupar tres líneas antes de mostrar puntos suspensivos; el control de líneas viudas mantiene los encabezados junto a sus elementos
- Los administradores pueden activar o desactivar la leyenda por diseño desde la configuración y los usuarios finales desde el widget. También hay un selector de ubicación en tiempo de ejecución
Barras de escala
- Catálogo completo de 12 estilos, incluidos Alterna (con marcas), Línea con etiquetas debajo y Línea de escala con eje central, cada uno con una vista previa precisa
- Barras de escala dobles reales de Pro: Alterna doble y Hueca doble siempre imprimen dos mediciones con el mismo punto cero; la segunda unidad se selecciona automáticamente como complemento natural (millas-pies, metros-kilómetros) y se puede cambiar
- Etiquetas de unidades que evitan superposiciones en todos los estilos y en los modos de escala simple y doble
Facilidad de uso y flujo de trabajo
- Anulaciones de usuario en tiempo de ejecución para la ubicación de la leyenda y el tipo de cuadrícula, sujetas a los controles de visibilidad del administrador
- Los campos Autor y Derechos de autor ahora siempre se imprimen en una línea de créditos cartográficos limpia en el margen inferior de la página cuando el diseño no incluye un elemento de texto que los muestre
- Botones «Aplicar a todos los diseños» para la vista general, la cuadrícula y la configuración de leyenda. Al volver a importar un .pagx, se actualiza el diseño correspondiente sin reemplazarlo y se conserva su configuración
- La vista previa en directo del área de impresión tiene en cuenta el panel de leyenda, el modo solo mapa y las dimensiones explícitas en píxeles antes de la primera exportación
- Optimización del rendimiento (creación y captura simultáneas de la leyenda, almacenamiento en caché de muestras de color y extracción en paralelo) y revisión de accesibilidad WCAG en todos los controles
09/07/2026:
Añadir @ncramer11 como colaborador. Se resolvió el problema siguiente.
El problema: setting.tsx obtiene sus listas desplegables (formatos, estilos de flecha norte, estilos y unidades de barra de escala) de runtime/lib/pdfRenderer.ts. Ese archivo también importa cuatro módulos esri/* , por lo que estos se incluyen en el paquete compilado de configuración. Parece que, cuando se abre el panel de configuración, la página del generador no siempre puede cargar los módulos de esri. En esos casos, el módulo de configuración falla y aparece window.require is not a function en la consola, y el widget y el panel de configuración del generador se quedan atascados en la pantalla de carga.
Confirmación 1: Traslada esas listas desplegables a un nuevo archivo, src/printConstants.ts, que no importa nada de esri. pdfRenderer.ts las vuelve a exportar, así que el código de ejecución no cambia en absoluto (widget.tsx no se modifica), y setting.tsx ahora importa desde el nuevo archivo. Así, el paquete de configuración ya no hace referencia a esri y se carga sin problemas. También se redujo de unos 3,3 MB a unos 350 KB. Dejé un comentario en printConstants.ts para explicar por qué debe mantenerse libre de esri.
Confirmación 2: Sustituye las siete propiedades indentLevel={1} de SettingRow por indented. Mi editor marca indentLevel porque no está en las definiciones de tipos de ExB 1.20. No cambia el comportamiento, así que puedes omitir este cambio si lo prefieres.
- Nuevo: mapa de localización insertado. Activa un mapa de localización con zoom alejado y un indicador de extensión en cualquier esquina del marco del mapa. Se configura por completo en los ajustes del widget; no es necesario modificar el diseño de Pro.
- Nuevo: cuadrículas y retículas al estilo de ArcGIS Pro. Elige una retícula (latitud/longitud, compatible con cualquier sistema de coordenadas), una cuadrícula métrica (unidades del mapa) o una cuadrícula de referencia (índice A-1). Se pueden configurar los estilos y colores de línea, los intervalos y las etiquetas; estas incluyen sufijos de hemisferio y halos para mejorar la legibilidad sobre imágenes.
- Nuevo: los controles de ejecución permiten activar o desactivar el mapa insertado y la cuadrícula en cada impresión.
- Mejorado: el límite de captura del mapa ahora se ajusta automáticamente según la tarjeta gráfica, para imprimir con mayor nitidez diseños grandes. La línea de progreso de exportación muestra los PPP efectivos.
- Mejorado: las URL largas del texto de atribución ahora se ajustan a varias líneas en lugar de salirse de la página.
- Corregido: «1 pulgada equivale a 0 millas» en diseños que usan millas a escala de ciudad.
02/07/2026:
Versión beta inicial. Publicada en GitHub. Busco comentarios antes de marcarla como estable.