Skip To Content

Impression dans les applications Web

Vous pouvez générer un document imprimable à partir d’une application web de plusieurs manières. ArcGIS Enterprise inclut un service de géotraitement appelé PrintingTools. Les applications Web invoquent le service PrintingTools et obtiennent en retour un document imprimable. Vous pouvez également créer un service d'impression personnalisé à l'aide de vos propres mises en page au lieu de celles intégrées par défaut dans le service PrintingTools. Dans le cas d’une impression avancée, vous pouvez utiliser un script Python pour convertir la carte web en document ArcMap (.mxd) ou en projet ArcGIS Pro (.aprx), puis exporter la carte ou la mise en page dans le projet vers différents formats en vue de leur impression.

Vous pouvez configurer l’impression pour le portail ArcGIS Enterprise, les modèles d’application web, ArcGIS Web AppBuilder et les applications créées à l’aide des API web ArcGIS. Reportez-vous à la rubrique Configurer le portail pour imprimer des cartes du guide de l’administrateur de portail pour en savoir plus sur l’attribution de fonctionnalités d’impression à votre portail, notamment aux applications créées avec Web AppBuilder ou aux modèles d’application web.

Service PrintingTools

PrintingTools est un service préconfiguré présent dans le dossier Utilitaires qui crée un document imprimable à l'aide d'une des mises en page cartographiques prédéfinies. Il s'agit de conceptions basiques aux formats de papier A3 et A4 en orientation portrait et paysage. Chaque mise en page contient une flèche d'orientation vers le Nord, une barre d'échelle et un ratio, une date et un titre. Les formats en sortie du service PrintingTools qui sont pris en charge sont les suivants : PDF (géoréférencé), PNG32, PNG8, JPG, GIF, EPS, SVG et SVGZ.

Le service PrintingTools est arrêté par défaut. Vous devez utiliser ArcMap ou ArcGIS Server Manager pour démarrer le service si vous souhaitez prendre en charge les processus d’impression. Une fois le service PrintingTools démarré, vous pouvez y accéder à l'aide d'une URL au format suivant : https://webadaptorhost.domain.com/webadaptorname/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task.

Les API Web ArcGIS proposent des widgets capables de communiquer avec le service PrintingTools afin d'obtenir une carte imprimable. Il vous appartient de fournir l'URL du service PrintingTools et les widgets se chargent du reste ! Pour plus d’informations sur l’utilisation du service PrintingTools avec votre portail ArcGIS Enterprise, reportez-vous à la rubrique Configurer le portail pour imprimer des cartes.

Remarque :
Lorsque votre service de carte est mis en cache, le service PrintingTools peut utiliser une résolution qui est trop faible (par exemple, 96 PPP) pour les impressions grand format ou haute qualité. Pour imprimer à des résolutions plus élevées, il est recommandé d'activer les couches dynamiques sur votre service de carte mis en cache. Ceci permet au service d'impression d'obtenir des images cartographiques (via une requête d'exportation de la carte) à la résolution souhaitée (par exemple, 300 PPP) au lieu des tuiles de faible résolution. Pour en savoir plus, reportez-vous à la rubrique A propos des couches dynamiques.

La tâche Get Layout Templates Info (Obtenir des informations sur les modèles de mise en page) fournit la taille de la mise en page et la taille d’une fenêtre cartographique. Elle indique également si les éléments de mise en page suivants sont disponibles :

  • Légende
  • Texte du titre 
  • Texte de copyright
  • Texte d'auteur
  • Eléments de texte personnalisés

Vous pouvez également ajouter cette tâche aux services d'impression personnalisés. Pour savoir comment procéder, reportez-vous à Didacticiel : Publication des services supplémentaires pour l'impression.

Remarque :

Il est préférable de ne pas utiliser vos propres modèles de mise en page avec le service PrintingTools. Publiez à la place un service d’impression personnalisé.

Légendes

Que vous utilisiez PrintingTools ou un service d'impression personnalisé, les légendes dans votre sortie imprimée auront le même comportement. Lorsque vous imprimez des services d'entités, la légende du document imprimé n'inclut que les entrées de légende des entités qui se trouvent dans l'étendue de la carte, tandis que les légendes des autres types de services incluent toutes les entrées de légende des entités, quelle que soit l'étendue de la carte.

À partir de la version 10.7.1, les services d'impression ajustent automatiquement les légendes pour afficher uniquement les gabarits des entités visibles dans l’étendue actuelle. Ceci s’applique aux services de carte publiés à partir de ArcGIS Pro sur ArcGIS Enterprise 10.7.1 et ne nécessite aucune configuration supplémentaire.

En savoir plus sur l’utilisation des éléments de légende dans ArcGIS Pro

Caractères Unicode

Les modèles de mise en page par défaut du service PrintingTools n’utilisent pas de polices prenant en charge les caractères Unicode. Il se peut donc que vous rencontriez des problèmes avec les titres ou les éléments de légende, en particulier avec les caractères internationaux. Pour y remédier, envisagez de publier un service d’impression personnalisé à l’aide de vos propres modèles de mise en page et définissez une police qui prend en charge les caractères Unicode :

  • En utilisant l’élément de légende dans ArcGIS Pro, vous pouvez définir une police prenant en charge les caractères Unicode pour l’élément de légende par défaut.
  • ArcMap ne prend pas en charge le changement de la police de l’élément de légende par défaut. De ce fait, vous devez écrire un service d’impression arcpy pour changer le style de tous les attributs d’un élément de légende.

Services d'impression personnalisés

Si vous souhaitez utiliser vos propres mises en page cartographiques, vous pouvez publier votre propre service pour une impression de cartes Web similaire à PrintingTools. Vous pouvez effectuer cette opération à partir de ArcMap 10.1 et versions ultérieures ou à partir de ArcGIS Pro 2.1 et versions ultérieures. Vous configurez ce service pour référencer votre dossier que vous avez préparé avec diverses mises en page de cartes : une carte ArcMap (.mxd) dans ArcMap ou des fichiers de mise en page (.pagx) dans ArcGIS Pro.

Vous trouverez des instructions pour la publication de vos propres outils d’impression dans deux rubriques : Publier un service d’impression supplémentaire avec des mises en page personnalisées depuis ArcMap et Partager un outil web de service d’impression avec des mises en page personnalisées depuis ArcGIS Pro. Dans le processus ArcGIS Pro, vous partagez un outil web sur votre portail ArcGIS Enterprise, qui est optimisé par un service de géotraitement publié sur un site ArcGIS Server fédéré.

Ces processus expliquent également comment mettre à jour ultérieurement vos mises en page. La méthode de mise à jour diffère selon que vous avez inscrit ou non votre dossier de mises en page auprès du serveur avant la publication. Les processus contiennent des instructions relatives aux deux scénarios.

Notez que ces rubriques précisent certains points supplémentaires à prendre en compte pour la publication et l’utilisation d’outils d’impression personnalisés dans votre portail ArcGIS Enterprise. Le service d'impression personnalisé doit être publié en tant que service de géotraitement synchrone et l'URL du service d'impression doit utiliser HTTPS pour que le portail l'accepte comme service d'impression du portail. Pour plus d’informations sur l’utilisation d’un outil ou service d’impression personnalisé sur votre portail ArcGIS Enterprise, reportez-vous à la rubrique Configurer le portail pour imprimer des cartes.

Les services d’impression personnalisés peuvent imprimer des mises en page qui utilisent plusieurs blocs de données ou fenêtres cartographiques.

  • Les services d’impression publiés via ArcMap mettent le contenu à jour dans le bloc de données actif.
  • Les services d’impression publiés dans le cadre d’un outil web à partir de ArcGIS Pro mettent à jour la carte associée à la fenêtre cartographique que vous avez nommée "WEBMAP_MAP_FRAME" (respect de la casse).
Toutefois, si les fenêtres cartographiques ou les blocs de données sont interdépendants (par exemple, dans le cas d’un rectangle d’emprise), cette relation est respectée par le service d’impression. Soit l’exemple suivant : vous disposez d’une mise en page avec deux fenêtres cartographiques : une carte principale et une carte globale. La carte globale comprend un rectangle d'emprise affichant l'étendue en cours de la carte principale. Lorsqu'un utilisateur Web demande une carte avec votre mise en page, la carte principale affiche la vue de carte Web en cours, et le rectangle d'emprise de la carte globale affiche l'étendue de la carte principale comme prévu.

Remarque :

Il est recommandé de supprimer toutes les couches de la carte associée à "WEBMAP_MAP_FRAME". Toutefois, dans certains cas avancés, il peut être nécessaire que des couches se trouvent dans la carte, et le service d’impression ne les supprime pas.

Impression avancée à l'aide de Python

Pour les scénarios d’impression avancés, n’utilisez pas du tout PrintingTools. Vous pouvez à la place utiliser les fonctions ConvertWebMapToMapDocument (pour ArcMap) ou ConvertWebMapToArcGISProject (pour ArcGIS Pro) du module arcpy Python. Une fois que le document est converti, la carte web entière existe dans la carte ArcMap (.mxd) ou le projet ArcGIS Pro (.aprx). La carte ArcMap, ou la carte ou mise en page du projet ArcGIS Pro, respectivement, peut ensuite être encore modifiée avant d’être finalement imprimée ou exportée dans un format courant (PDF, par exemple).

Ces fonctions de conversion sont généralement utilisées pour remplacer les couches de service par des données vectorielles locales, créer des atlas, contrôler l’aspect de la légende et exporter différents formats à l’aide des options avancées.

Pour que votre script Python soit disponible pour une application web, vous pouvez le présenter par l'intermédiaire d'un service de géotraitement ArcGIS Server. Pour plus d'informations, reportez-vous à la rubrique Impression avancée de cartes Web.