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. Par défaut, ArcGIS Server s'accompagne d'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 afin de convertir la carte Web en document ArcMap (MXD), puis exporter ce document MXD vers divers formats en vue de l'impression.

Vous pouvez configurer l'impression pour Portal for ArcGIS, les modèles d'application Web, Web AppBuilder for ArcGIS et pour 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 Portal for ArcGIS pour en savoir plus 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 ArcGIS Desktop ou ArcGIS Server Manager pour démarrer le service si vous souhaitez prendre en charge les workflows 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 déploiement Portal for ArcGIS, reportez-vous à la rubrique Configurer le portail pour imprimer des cartes.

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.

A partir de la version 10.4, une nouvelle tâche est accessible dans le service PrintingTools : Obtenir des informations sur les modèles de mise en page. La tâche fournit la taille de la mise en page et la taille du bloc de données actif. 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.

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 configurez ce service de manière à référencer votre propre dossier de documents ArcMap (MXD) que vous avez préparés avec diverses mises en page de carte.

Vous trouverez des instructions concernant la publication de votre propre service pour l'impression Web (et pour le pointer vers votre propre dossier de mises en page) dans Didacticiel : Publication de services supplémentaires pour l'impression. Ce didacticiel explique également comment mettre à jour ultérieurement vos mises en page. La méthode de mise à jour varie selon si vous avez inscrit ou non votre dossier de mises en page auprès du serveur avant la publication. Le didacticiel contient des instructions relatives aux deux scénarios.

Notez que le didacticiel indique certains points supplémentaires à prendre en compte pour la publication et l'utilisation de services d'impression personnalisés dans Portal for ArcGIS. 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 service d'impression personnalisé avec votre déploiement Portal for ArcGIS, 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. Le service remplace la carte uniquement dans le bloc de données actif. Cependant, si les blocs de données ont une relation entre eux, 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 blocs de données : une carte principale et une carte globale. La carte globale comprend un rectangle d'emprise affichant l'étendue en cours de la carte principale. Avant d'utiliser cette mise en page avec votre service d'impression personnalisé, vous devez vous assurer que le bloc de données de la carte principale est le bloc de données actif. Lorsqu'un utilisateur Web demande une carte avec votre mise en page, la carte principale affiche la vue de la carte Web en cours, et le rectangle d'emprise de la carte générale affiche l'étendue de la carte principale comme prévu.

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.

Impression avancée à l'aide de Python

Dans le cas des scénarios d'impression avancés, vous ne devez pas utiliser PrintingTools. Utilisez plutôt la fonction ConvertWebMapToMapDocument de module Python arcpy.mapping inclus dans ArcGIS. Une fois que le document est converti, la carte Web complète est intégrée au document ArcMap. Le document ArcMap peut ensuite être modifié davantage avant d'être imprimé ou exporté dans un format connu, par exemple au format PDF.

La fonction ConvertWebMapToMapDocument est généralement utilisée 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.