Visão geral
Este widget traz a impressão de mapas no estilo do ArcGIS Pro para o ArcGIS Experience Builder sem precisar de um serviço de impressão. Compartilhe um layout do ArcGIS Pro como um arquivo de layout (.pagx), importe-o uma vez nas configurações do widget e ele recria a página no navegador com base no seu mapa ao vivo: quadro do mapa, título e texto, seta norte, barra de escala, legenda, imagens e linhas.
https://github.com/brianmcleer/print-advanced-widget
Observação: importe um arquivo de layout do ArcGIS Pro (.pagx) nas configurações do widget para definir a página. Também há uma opção de serviço de impressão da Esri caso prefira usar um serviço ExportWebMap no servidor.
O que este widget pode fazer?
- Reproduz um layout .pagx do ArcGIS Pro no navegador (quadro do mapa, texto, linhas, seta norte, barra de escala, imagens e legenda), calibrado com base em saídas reais do Pro.
- Exporta PDF e SVG como vetores verdadeiros, além de PNG32, PNG8, JPG, GIF, TIFF e EPS. Não é necessário um serviço de impressão.
- Opção de serviço de impressão da Esri (uma URL ExportWebMap) para layouts no servidor, que também adiciona AIX.
- Pré-visualização da área de impressão desenhada no mapa, para você ver o que será impresso antes de exportar. Mantenha a escala atual, mantenha a extensão atual, defina uma escala fixa ou escolha uma em uma lista, com uma opção para bloqueá-la.
- 12 estilos de seta norte e 9 estilos de barra de escala exibidos como miniaturas, além de uma opção padrão do layout.
- Sistema de coordenadas de saída (WKID) para imprimir em uma projeção diferente da do mapa.
- Tokens de autor, direitos autorais e atribuição. Exportação somente da legenda ou do mapa. Fontes personalizadas por URL, incluindo importação do Google Fonts.
- Lista de exportações recentes e importação e exportação de XML de toda a configuração.
- Controle do administrador sobre as configurações padrão, os formatos oferecidos e os controles disponíveis para os usuários durante a execução.
Registro de alterações:
15/10/2026:
A lista de exportações foi reformulada. Cada arquivo concluído agora aparece como Pronto, com horário, número de páginas e tamanho. Clique no nome para abri-lo em uma nova guia ou em Salvar para baixá-lo novamente. Os detalhes técnicos e as observações ficam atrás de um botão Detalhes, para manter a lista organizada. Os arquivos permanecem na lista enquanto o aplicativo estiver aberto, mesmo que você feche o painel Imprimir.
12/10/2026: O widget agora acompanha o idioma do aplicativo (?locale=, o seletor de idioma, o perfil do ArcGIS ou o navegador) em 39 idiomas, incluindo o guia de ajuda.
Você tem seus próprios widgets personalizados? A mesma ferramenta gratuita, exb-i18n-kit, pode traduzi-los com um único comando: localize. Veja como ela preenche cada frase:
- Primeiro, a Esri. Ela lê as traduções já disponíveis na sua instalação do Experience Builder, então uma frase como “Zoom to” usa a mesma tradução dos próprios widgets da Esri.
- Termos padrão. Os nomes de unidades, como pés e acres, vêm do Unicode CLDR, a mesma base de dados usada pelos navegadores.
- Memória de tradução compartilhada. O restante vem de um dicionário compartilhado criado com o LibreTranslate, um tradutor de código aberto, além dos modelos Opus-MT da Helsinki-NLP para bósnio, croata e sérvio. Ele funciona gratuitamente no GitHub, então você não precisa de chave de API nem de conta.
- Integração. Ela também encontra textos em inglês codificados diretamente fora do arquivo de traduções do widget, como uma configuração padrão ou um guia de ajuda, e os integra para que também sejam traduzidos.
As correções feitas manualmente sempre prevalecem sobre as da máquina e nunca são substituídas. Algumas traduções são automáticas; se encontrar alguma estranha, responda aqui com uma sugestão melhor.
24/09/2026:
- A pré-visualização da página agora fica abaixo do título do mapa, para que o painel seja lido de cima para baixo: escolha um layout, digite um título, veja a página e exporte.
- As opções avançadas estão organizadas em seis cartões: Área de impressão, Série de mapas, No mapa, Texto da página, Estilo e Saída. Cada cartão abre e fecha ao clicar no título, lembra sua escolha e mostra um resumo de uma linha quando fechado, como "PDF, 300 DPI" ou "Legenda, grade".
- A série de mapas é uma opção simples que define o formato como PDF automaticamente.
- As configurações seguem a mesma ordem, para que o que o administrador define corresponda ao que os usuários veem. Os administradores também podem escolher quais cartões ficam abertos inicialmente.
23/09/2026:
- GeoPDF. Abra o PDF no Avenza ou no Field Maps para ver o ponto azul. Também funciona com GeoTIFF, arquivos world e KMZ.
- Camadas do PDF. Ative ou desative o mapa, a grade, a legenda e o texto no Acrobat.
- Pré-visualização da página em tempo real. Veja a página impressa inteira enquanto desloca o mapa.
- Camadas vetoriais. Linhas nítidas e rótulos pesquisáveis em vez de pixels (experimental).
- Páginas orientadas por dados. Uma página por parcela, parque ou projeto. Funciona com camadas de grupo e filtros, e adiciona o nome do elemento ao título.
- Progresso da série de mapas. Mostra Página 3 de 12 e o tempo restante, com um botão Cancelar.
- Limites de páginas. Como tudo é executado no navegador, os administradores podem definir um aviso e um número máximo de páginas.
- Grade: altere as cores das linhas e das fontes da grade no widget e nas configurações padrão.
09/09/2026:
- Agora os elementos selecionados são impressos. Se você tiver parcelas ou outros elementos selecionados no mapa, eles serão impressos com um contorno ciano sobre o mapa. O widget captura o mapa em uma visualização fora da tela que compartilha as camadas do mapa, mas não a visualização do mapa; o destaque da seleção fica na visualização, e é por isso que uma parcela selecionada não aparecia na impressão, embora todos os outros elementos gráficos aparecessem. Agora a seleção é desenhada na página como vetor, para que seja impressa com nitidez em PDF e SVG, sem alterar nada no mapa ao vivo. Há uma opção Elementos selecionados no painel de exportação, ativada por padrão, e uma configuração padrão correspondente nas configurações do widget.
- Guia de ajuda no widget. Um botão Ajuda no cabeçalho do widget abre um guia curto e pesquisável, escrito em linguagem simples: três etapas para começar, o que cada opção faz, qual tipo de arquivo escolher e o que verificar quando algo não parecer certo. Ele mostra apenas informações sobre os recursos que estão ativados no seu aplicativo, para que ninguém leia sobre uma legenda ou série de mapas que o layout não usa.
04/09/2026:
Não está mais em Beta; agora está disponível nos meus sites como widget ativo. Novas funções:
- Adicionada a exportação para Google Earth (KMZ) nas exportações somente do mapa
- Adicionada saída raster georreferenciada: GeoTIFF verdadeiro para TIFF, arquivo world mais
.prj para PNG, JPG e GIF - O suporte a sistemas de coordenadas agora é universal, em vez de limitado a uma lista fixa, abrangendo a saída
.prj, a codificação GeoTIFF e os tokens de nome do sistema de coordenadas - Adicionado suporte completo a texto dinâmico do ArcGIS Pro, incluindo hora, créditos de camadas de serviço, propriedades da referência espacial, coordenadas do quadro do mapa e tokens de página da série de mapas
- Adicionada filtragem de legenda dependente da escala
- A série de mapas imprime o painel da legenda em todas as páginas e regenera sua grade com base no quadro efetivo
- A importação e exportação de XML das configurações agora preserva as configurações padrão de grade, visão geral e legenda
- Corrigidos os tamanhos de símbolos, textos e linhas em DPI alto
- Corrigida a impressão de imagens em escalas grandes, que não respeitava a escala
- Corrigida a ausência de amostras de legenda para grupos de serviços de mapa
- Corrigido o posicionamento da legenda no canto inferior esquerdo e no canto inferior direito
- Corrigida a opção "Aplicar a todos os layouts"
- Corrigida a atualização da opção de legenda ao alterar o layout
- A legenda agora respeita a quantidade de colunas e a visibilidade do título em
.pagx
12/08/2026:
Corrigidos os itens da legenda que apareciam como quadrados cinza no Experience Builder 1.21. O ArcGIS Maps SDK mais recente renderiza o widget Legenda atrás de um shadow DOM, o que ocultava as amostras de símbolos durante a captura para impressão; agora a extração das amostras atravessa o shadow DOM, oferece suporte ao novo componente arcgis-legend e recorre automaticamente à criação de símbolos a partir dos renderizadores das camadas se a extração não conseguir obter todos os elementos. Não é preciso alterar seus mapas nem layouts. Agradecemos a @ncramer11 por relatar o problema pelo GitHub.
23/07/2026:
Atualizado o widget Map Switcher para o Experience Builder 1.21, resolvendo erros no editor do TypeScript, incluindo a tipagem dos componentes React e as importações de configuração imutável. A versão do widget também foi atualizada, e a versão mais recente já está disponível no GitHub.
17/07/2026:
Reformulação do sistema de legendas
- A legenda agora lê o widget Legenda ativo na página, exatamente como o usuário o vê: ordem das camadas, aninhamento de grupos, visibilidade e hierarquia de subcamadas. A configuração Origem da legenda permite vincular um widget específico ou detectar um automaticamente
- Simbologia em alta resolução: amostras de serviços de mapa obtidas da legenda REST em 288 DPI e associadas contextualmente às linhas da legenda; amostras vetoriais renderizadas com sobreamostragem; símbolos desenhados nas proporções corretas (amostras de linha permanecem finas, marcadores permanecem redondos), sem áreas distorcidas ou em branco
- Novas posições para painéis adjacentes (direita, esquerda, inferior): o quadro do mapa diminui para abrir espaço; a largura do painel se ajusta ao conteúdo, com colunas equilibradas; o painel contorna elementos do layout, como logotipos nos cantos; e a borda do quadro definida no layout envolve o mapa e a legenda juntos, preservando as composições criadas no Pro
- Legendas com várias páginas: a posição "Páginas adicionais (somente PDF)" distribui a legenda por quantas páginas completas forem necessárias, mantendo o tamanho de fonte original, com cabeçalhos de continuação e o mesmo tamanho e orientação de página do mapa
- Ajuste inteligente: o widget mede a legenda real em tempo real e exibe avisos específicos ("87 itens; cerca de 23 não caberão"), define automaticamente páginas adicionais quando alguns itens seriam omitidos (com opção de reverter com um clique, e a reversão também ocorre quando as camadas são desativadas) e sinaliza qualquer exportação truncada na linha do resultado
- Rótulos longos quebram em até três linhas antes de serem cortados com reticências; o controle de linhas órfãs mantém os cabeçalhos junto dos respectivos itens
- Opção para ativar ou desativar a legenda disponível para administradores por layout nas configurações e para usuários finais no widget, além de um seletor de posição durante a execução
Barras de escala
- Catálogo completo com 12 estilos, incluindo Alternada (com marcas), Linha com rótulos abaixo e Linha de escala com eixo central, cada um com uma miniatura de pré-visualização precisa
- Barras de escala duplas verdadeiras do Pro: as opções Alternada dupla e Vazada dupla sempre imprimem duas medidas com o mesmo ponto zero; a segunda unidade é escolhida automaticamente como complemento natural (milhas-pés, metros-quilômetros), mas pode ser alterada
- Rótulos de unidade sem sobreposição em todos os estilos, nos modos simples e duplo
Usabilidade e fluxo de trabalho
- Substituições de configurações pelos usuários durante a execução para a posição da legenda e o tipo de grade, controladas pelas opções de visibilidade do administrador
- Os campos Autor e Direitos autorais agora são sempre impressos em uma linha organizada de créditos cartográficos na margem inferior da página quando o layout não tem um elemento de texto que os inclua
- Botões "Aplicar a todos os layouts" para as configurações de visão geral, grade e legenda; ao importar novamente um .pagx, o layout correspondente é atualizado no lugar e suas configurações são preservadas
- A prévia ao vivo da área de impressão acompanha o painel de legenda, o modo somente mapa e as dimensões explícitas em pixels antes da primeira exportação
- Otimização de desempenho (criação e captura simultâneas da legenda, armazenamento em cache de amostras de cores e extração paralela) e revisão de acessibilidade WCAG em todos os controles
07/09/2026:
Adicionar @ncramer11 como colaborador. Problema resolvido abaixo.
O problema: setting.tsx obtém suas listas suspensas (formatos, estilos de seta norte, estilos de barra de escala e unidades) de runtime/lib/pdfRenderer.ts. Esse arquivo também importa quatro módulos esri/* e, por isso, eles acabam incluídos no pacote compilado de configurações. Parece que a página do construtor nem sempre consegue carregar os módulos esri quando o painel de configurações é aberto. Quando isso acontece, o módulo de configurações falha com window.require is not a function no console, e o construtor exibe o widget e o painel de configurações travados na tela de carregamento.
Commit 1: Move essas listas suspensas para um novo arquivo, src/printConstants.ts, que não importa nada de esri. pdfRenderer.ts as exporta novamente, então o código de execução não muda em nada (widget.tsx permanece intocado), e setting.tsx agora importa o conteúdo do novo arquivo. Com isso, o pacote de configurações não faz mais referência a esri e carrega sem problemas. Ele também diminuiu de cerca de 3,3 MB para aproximadamente 350 KB. Deixei um comentário em printConstants.ts explicando por que ele precisa continuar sem dependências de esri.
Commit 2: Substitui as sete propriedades indentLevel={1} em SettingRow por indented. Meu editor sinaliza indentLevel porque não está nos tipos do ExB 1.20. Não há diferença de comportamento, então fique à vontade para ignorar este commit, se preferir.
- Novo: mapa de localização em miniatura. Ative um mapa de localização com zoom mais afastado e um indicador de extensão em qualquer canto da moldura do mapa. Tudo é configurado nas opções do widget; não é preciso alterar o layout do Pro.
- Novo: grades e graticulados no estilo do ArcGIS Pro. Escolha um graticulado (latitude/longitude, funciona em qualquer sistema de coordenadas), uma grade métrica (unidades do mapa) ou uma grade de referência (índice A-1). Os estilos de linha, as cores, os intervalos e os rótulos são configuráveis, e os rótulos incluem sufixos de hemisfério e halos para facilitar a leitura sobre imagens.
- Novo: controles em tempo de execução permitem que os usuários ativem ou desativem o mapa em miniatura e a grade em cada impressão.
- Melhorado: o limite de captura do mapa agora é definido automaticamente com base na placa de vídeo, para que layouts grandes sejam impressos com mais nitidez. A linha de progresso da exportação informa o DPI efetivo.
- Melhorado: URLs longos no texto de atribuição agora quebram linha em vez de ultrapassar os limites da página.
- Corrigido: “1 polegada equivale a 0 milhas” em layouts que usam milhas nas escalas de cidade.
02/07/2026:
Lançamento da versão beta inicial. Publicado no GitHub. Estou buscando comentários antes de considerar a versão estável.