#1 Thu 23 May 2013 10:28
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
ArcGis 10 : Générer automatiquement une série d'atlas
Bonjour,
Je travaille sur des données transport en commun.
Je souhaite mettre en place un outil qui permette de générer un atlas au 5K pour chaque ligne de bus et l'exporter en pdf.
Il faut que je gère les titres, la couleur des tracés, les étiquettes des arrêts, .... ces informations étant disponibles dans les attributs.
Je dois également afficher un fond de plan raster et donc je dois au préalable sélectionner les dalles correspondant à la ligne.
Ainsi à chaque mise à jour des données il suffira de lancer l’outil pour récupérer les n atlas correspondants au n lignes de bus.
J'ai quelques notions concernant Modelbuilder et je ne connais pas du tout Python.
Je me demande si ces outils me permettraient de réaliser ma série d'atlas.
Merci d'avance pour vos conseils avisés
Hors ligne
#2 Thu 23 May 2013 11:23
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Bonjour,
As tu regardé du côté des pages dynamiques ?
http://help.arcgis.com/fr/arcgisdesktop … 0006000000
Hors ligne
#3 Thu 23 May 2013 12:10
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Merci pour l'info concernant les pages dynamiques en fonction d'un itinéraire (je pensais qu'on ne pouvait le faire qu'avec un découpage en forme de grille).
Le truc c'est que mes lignes de bus sont sur le même territoire et certaines se chevauchent.
Mais dans chaque atlas ne doit apparaitre qu'une seule ligne.
Je dispose d'un fichier shp par ligne et un shp des arrêts de la ligne par ligne (ex ligne_1.shp, ligne_2.shp, ..... arrets_1.shp, arrets_2.shp)
Je veux récupérer un pdf par ligne contenant une série de pages en A4 au 5K avec un fond raster, la ligne, les arrêts de la ligne, ...
(Un pdf de plusieurs pages pour la ligne 1, un pdf de plusieurs pages pour la ligne 2, .....)
Donc pour mes n lignes, je pensais faire une boucle sur mes n fichiers et générer n pages dynamiques.
Avant de m'engager dans du dev je me demandais si ModelBuilder ou Python sont suffisamment puissant pour me permettre d'arriver à mon objectif et notamment j'ai quelques inquiétudes concernant l'automatisation de l'affectation, au sein des pages dynamiques, d'un titre, d'un étiquetage pour les arrêts et d'une symbologie pour les lignes et les arrêts.
Hors ligne
#4 Thu 23 May 2013 13:54
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Pas de solution directe de premier abord, mais pour les manipulations complexes de carto via Python, il faut regarder du côté de Arcpy mapping :
http://help.arcgis.com/fr/arcgisdesktop … 0032000000
Dans la théorie, tu pourrais envisager de créer un mxd par ligne de bus, en restreignant l'affichage à cette ligne puis relancer l'ensemble de tes pages dynamiques dans chaque mxd de ligne de bus pour toutes les lignes, via python
Hors ligne
#5 Thu 23 May 2013 14:35
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Bonjour,
J'ai réalisé un développement assez proche de ce que vous souhaitez faire. Dans ce traitement, qui consiste à générer un atlas à partir d'un MXD dans lequel l'option "Pages dynamiques" est activé, je réalise entre autre :
- génération automatique de la géométrie de la couche d'index en fonction de la géométrie d'une couche de linéaires (une tournée de collecte)
- l'application d'un ensemble de définition sur certaines couches de mon MXD. Il est possible de jouer sur la visibilité de ces couches, mais aussi d'en rajouter à la volée (en utilisant par exemple un .LYR dans lequel vous aurez défini au préalable votre symbologie et l'étiquetage).
- la génération d'un PDF contenant plusieurs pages, avec pour chaque page un titre différents (ex: Plan de la tournée (p.3/10))
Je l'ai réalisé sous forme d'un script Python en m'appuyant sur :
- les références de l'API : http://help.arcgis.com/fr/arcgisdesktop … 02n000000/
- un exemple sur http://blogs.esri.com/esri/arcgis/2010/ … y-mapping/ : The following example exports a title page, an overview map, and a series of data driven pages and combines them, along with a PDF file containing a list of contact information, into a single multi-page PDF file:
Donc oui, vous pouvez vous lancer, Python vous permettra d'y arriver
Cordialement,
Kevin
PS: j'ai mis tellement de temps pour répondre que Robin m'a grillé la politesse
Dernière modification par Kevin Jousseaume (Thu 23 May 2013 14:36)
Hors ligne
#6 Thu 23 May 2013 16:22
Re: ArcGis 10 : Générer automatiquement une série d'atlas
PS: j'ai mis tellement de temps pour répondre que Robin m'a grillé la politesse
Mais non mais non, on se complète, moi j'ai la théorie et tu as la pratique du Python
Hors ligne
#7 Thu 23 May 2013 20:23
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Facebook m'aura définitivement perverti : j'ai cherché plusieurs minutes où pouvait bien se trouver le bouton "like"...
Hors ligne
#8 Fri 24 May 2013 10:23
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Pas de bouton Like sur GeoRezo, mais pourquoi pas un jour un modèle de type GIS StackExchange ? Peut être à suggérer à nos développeurs émérites. Ceci dit, j'en profite pour signaler qu'il est possible de partager un contenu via la barre d'outil en bas de l'écran vers la plupart des réseaux sociaux (y compris Facebook)
Hors ligne
#9 Fri 24 May 2013 16:59
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Merci à tous
C'est partit: je me lance dans python ...
Hors ligne
#10 Fri 24 May 2013 17:16
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Attention à ne pas te faire dévorer !!!
Trêve de plaisanterie : voici un extrait de mon code (je ne peux pas te transmettre l'intégralité, mon client ne serait pas très content...), cela devrait te donner quelques idées pour commencer
Code:
# Paramètres du script #Couche d'itinéraire IN_LAYER_ITI = unicode(arcpy.GetParameterAsText(0)).encode('cp1252') # unicode est utilisé pour gérer les problèmes d'encode. Il n'est pas nécessaire de l'employer s'il n'y a pas de caractères spéciaux dans le nom des couches #Couche des points de repère IN_LAYER_PTREP = unicode(arcpy.GetParameterAsText(1)).encode('cp1252') #Répertoire en sortie OUT_FOLDER = unicode(arcpy.GetParameterAsText(3)).encode('cp1252') try: # Récupération du document courant mxd = arcpy.mapping.MapDocument("CURRENT") # Vérification de la configuration des pages dynamiques try: nbPages = mxd.dataDrivenPages.pageCount + 1 except: raise Exception("DataDrivenPagesError") arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Création du fichier PDF dans le dossier "+ OUT_FOLDER) if os.path.exists(OUT_PDF_FILE): try: os.remove(OUT_PDF_FILE) except: raise Exception("RemovePdfFileError") finalPdf = arcpy.mapping.PDFDocumentCreate(OUT_PDF_FILE) # Génération du plan d'ensemble arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Récupération de l'étendue de la couche") for layer in arcpy.mapping.ListLayers(mxd, IN_LAYER_ITI): layerExtent = layer.getExtent() dataFrame = arcpy.mapping.ListDataFrames(mxd)[0] dataFrame.extent = layerExtent dataFrame.scale = dataFrame.scale * 1.1 mxd.title = IN_LAYER_ITI + " - Plan d'ensemble" arcpy.RefreshActiveView() arcpy.RefreshTOC() arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Export du plan d'ensemble") tmpPdf = os.path.splitext(OUT_PDF_FILE)[0] + "_tmp.pdf" if os.path.exists(tmpPdf): os.remove(tmpPdf) arcpy.mapping.ExportToPDF(mxd, tmpPdf) arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Insertion dans le document final...") finalPdf.appendPages(tmpPdf) if os.path.exists(tmpPdf): os.remove(tmpPdf) arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_ITI) queryDef = ITI_FLD_ORDRE + ">=" + str(ordreMin - IN_TOLERANCE_ORDRE) + " AND " + ITI_FLD_ORDRE + "<=" + str(ordreMax + IN_TOLERANCE_ORDRE) layerIti = arcpy.mapping.ListLayers(mxd, IN_LAYER_ITI)[0] layerIti.definitionQuery = queryDef arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_PTREP) queryDef = FLD_NUMERO + "=" + str(pageNum) + " OR " + FLD_NUMERO + "= 1 + " + str(pageNum) for layer in arcpy.mapping.ListLayers(mxd, IN_LAYER_PTREP): layer.definitionQuery = queryDef # Modification du titre (il doit être présent dans la mise en page) mxd.title = IN_LAYER_ITI + " - Partie " + str(pageNum) #Rafraichissement de la vue arcpy.RefreshActiveView() arcpy.RefreshTOC() arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Export de la page {0} sur {1}.".format(str(pageNum), str(mxd.dataDrivenPages.pageCount))) tmpPdf = os.path.splitext(OUT_PDF_FILE)[0] + "_tmp" + str(pageNum) + ".pdf" if os.path.exists(tmpPdf): os.remove(tmpPdf) arcpy.mapping.ExportToPDF(mxd, tmpPdf) arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Insertion dans le document final...") finalPdf.appendPages(tmpPdf) arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Suppression du fichier temporaire...") if os.path.exists(tmpPdf): os.remove(tmpPdf) except Exception, ErrorDesc: if str(ErrorDesc) == "DataDrivenPagesError": ErrorDesc = "Les pages dynamiques ne sont pas configurees dans ce document." elif str(ErrorDesc) == "RemovePdfFileError": ErrorDesc = "Impossible de supprimer le fichier PDF déjà existant." else: arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue") ErrorDesc0 = ErrorDesc ErrorDesc = "" for sErr in ErrorDesc0: ErrorDesc = ErrorDesc + sErr arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)
Hors ligne
#11 Fri 24 May 2013 17:52
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Guil31 : un conseil si tu débutes : le code de Kevin comporte morceaux de code "bonus" : messages de suivi de la procédure, code pour la prise en charge des erreurs, etc. Exemple :
(Suivi de la procédure)
Code:
arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_ITI) .... arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_PTREP)
(Gestion des erreurs)
Code:
try : blablabla except Exception, ErrorDesc: if str(ErrorDesc) == "DataDrivenPagesError": ErrorDesc = "Les pages dynamiques ne sont pas configurees dans ce document." elif str(ErrorDesc) == "RemovePdfFileError": ErrorDesc = "Impossible de supprimer le fichier PDF déjà existant." else: arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue") ErrorDesc0 = ErrorDesc ErrorDesc = "" for sErr in ErrorDesc0: ErrorDesc = ErrorDesc + sErr arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)
Pour apprendre le python, bien respecter les retraits, la casse (min/maj) et ne pas oublier les : à la fin d'une ligne d'instruction avec if par exemple. Essaye toi sur des exemples de code simplifiés d'abord avant d'attaquer le code de Kevin pour l’adapter.
Hors ligne
#12 Fri 24 May 2013 21:44
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
C'est vrai que j'y suis peut-être allé un peu fort pour un 1er exemple de code... . Robin a parfaitement raison guil31, et il n'aura trompé personne en disant qu'il ne connaissait que la théorie
PS : une remarque sur ton code Robin, il y a justement une petite erreur d'indentation. En effet, il faudrait mettre :
Code:
try : blablabla except Exception, ErrorDesc: tutu
et non :
Code:
try : blablabla except Exception, ErrorDesc: tutu
PS2 : des fois, il m'arrive d'être sérieux, si, si...
Hors ligne
#13 Mon 27 May 2013 09:13
Re: ArcGis 10 : Générer automatiquement une série d'atlas
C'était pour voir si tu suivais :p Mes cours de Python me servent pour l'instant juste à comprendre et adapter ce qui existe, voire de faire de petites routines peu complexes. J'ai déjà analysé tes scripts précédents qui m'ont permis d'apprendre certaines bonnes pratiques, comme les messages de suivi (arcpy.AddMessage) qui me semblent indispensables pour suivre l'évolution du script en détail. C'est d'ailleurs suffisamment rare pour être souligné, cet aspect "user-friendly" de tes scripts quand on les lance.
Hors ligne
#14 Mon 27 May 2013 10:08
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Merci Robin pour ces compliments
J'ai commencé exactement de la manière il y a 1 ou 2 ans. C'est principalement en étudiant les scripts qui sont fournis avec ArcGIS ("<Répertoire d'installation>\ArcToolbox\Scripts") que j'ai appris à consolider les miens grâce à ces techniques. J'ai mis du temps à m'y faire. Comme tout le monde, je suis parti des scripts générés par l'export en Python d'un ModelBuilder et il m'a fallu du temps pour comprendre qu'il fallait systématiquement les revoir en profondeur car ils sont très "moches" et nécessitent beaucoup de travail pour les rendre + robustes.
Je suis maintenant plutôt satisfait de la qualité de mes scripts, mais je suis certain que j'ai encore plein de choses à apprendre/améliorer !
Tiens, une méthode intéressante à mettre en place lors de traitements automatisés (via une tâche planifiée sur un serveur) : inscrire les messages non dans l'interface utilisateur (arcpy.AddMessage) mais dans un fichier de log (librairie Python logging), puis envoyer ce fichier de log (librairie smtplib) par mail à l'administrateur si des erreurs se sont produites.
A+
Hors ligne
#15 Mon 27 May 2013 10:52
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Merci pour vos conseils.
J'ai d'autres expériences de dev avec d'autres outils (donc la programmation ne m'est pas complétement inconnue).
Mes difficultés vont plus être sur la syntaxe et l'utilisation des fonctions spécifiques de ArcPy.
Cette semaine je suis en formation (malheureusement pas sur Python).
Mais je m'y attaque sérieusement la semaine prochaine.
En cas de difficultés je n'hésiterai pas à vous relancer.
Hors ligne
#16 Thu 20 June 2013 17:07
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Je reprend le sujet car je n'arrive à effectuer l'export en pdf.
J'ai fait une boucle sur l'ensemble de mes lignes avec un curseur
Pour chaque ligne j'utilise le même mxd qui me sert de modèle mais dans lequel je change la source des fichiers, les titres, j'affichage un fond raster ......
Jusque là tout va bien
Ensuite, j'arrive à créer un pdf par page, mais je n'arrive pas à rassembler tous les pdf d'une ligne dans un seul pdf
Voici un extrait de mon code:
Code:
blabla ......... je recupère les chemins d'accès (file_ligne_all, file_mxd, dir_data_out, ...) ................ et je remplace les \ par des / curseur = arcpy.SearchCursor(file_ligne_all) for c_ligne in curseur: mxd = arcpy.mapping.MapDocument (file_mxd) blabla ...... changement de source des couches, ajout des titres, du fond raster .......... # export en pdf pdf_doc = arcpy.mapping.PDFDocumentCreate(dir_data_out + "/" + c_ligne.LIGNE + ".pdf") for page_num in range(1, mxd.dataDrivenPages.pageCount + 1): mxd.dataDrivenPages.currentPageID = page_num file_pdf = dir_data_out + "/" + c_ligne.LIGNE + "_" + str(page_num) + ".pdf" arcpy.mapping.ExportToPDF(mxd, file_pdf) try : pdf_doc.appendPages(file_pdf) except: arcpy.AddMessage("Erreur: " + file_pdf) pdf_doc.saveAndClose() del pdf_doc mxd.saveACopy(dir_data_out + "/atlas_"+ c_ligne.LIGNE + ".mxd") del mxd del curseur
A chaque fois je passe dans "except:"
J'ai essayé de lancer les mêmes commandes dans une fenêtre Python dans un document ArcMap et là ça marche: je n'y comprends rien!
Est-ce quelqu'un à une idée?
Hors ligne
#17 Thu 20 June 2013 18:19
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Il faudrait en savoir un peu plus sur le contexte :
- est-ce que le fichier pdf_doc existe bien ?
- est-ce que le fichier file_pdf existe bien ?
- quel est le message d'erreur ? Pour cela, il faudrait utiliser un code un peu plus évolué dans la partie "except", par exemple :
Code:
except Exception, ErrorDesc: arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue.") ErrorDesc0 = ErrorDesc ErrorDesc = "" for sErr in ErrorDesc0: ErrorDesc = ErrorDesc + str(sErr) arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)
Hors ligne
#18 Fri 21 June 2013 09:22
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
- pdf_doc existe bien car j'arrive à faire un pdf_doc.pageCount dessus
- file_pdf est généré
- message d'erreur:
<type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character u'\xee' in position 27: ordinal not in range(128)
Échec de l’exécution de (Atlas).
PS:
Je n'ai pas trop chercher, mais je n'ai pas réussi à utiliser datetime.now().strftime("%Y/%m/%d-%H:%M:%S")
(J'ai bien fait import datetime)
=> <type 'exceptions.AttributeError'>: 'module' object has no attribute 'now'
Hors ligne
#19 Fri 21 June 2013 09:48
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Ah...
Dans le code d'affichage de l'erreur, le traitement doit planter sur
Code:
ErrorDesc = ErrorDesc + [b]str(sErr)[/b]
en raison de l'encodage (la fonction str() pose alors pb).
Pourrais-tu essayer une des variantes suivantes :
Code:
ErrorDesc = ErrorDesc + unicode(sErr)
Code:
ErrorDesc = ErrorDesc + sErr
Pour le problème d'utilisation de datetime.now(), cela m'est déjà arrivé lorsque j'utilise la fonction de calcul de champ d'arcPy au sein du script : avant l'appel à cette fonction de calcul, datetime.now() était opérationnel, mais plus après. Je n'ai jamais cherché à le résoudre...
Hors ligne
#20 Fri 21 June 2013 10:30
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Les deux variantes fonctionnent
=> Chemin non valide - une chaine doit être fournie
Hors ligne
#21 Fri 21 June 2013 11:08
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Quelle est la valeur des variables "pdf_doc" et "file_pdf" ? C'est peut-être là aussi un pb d'encode (accents, caractères spéciaux) ou d'espace dans le chemin que la fonction .appendPages() n'apprécie pas.
Hors ligne
#22 Fri 21 June 2013 11:26
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
pdf_doc = "D:/Claire/Atlas_lignes/data_out/Noct/Noct.pdf"
file_pdf = "D:/Claire/Atlas_lignes/data_out/Noct/Noct_1.pdf" puis "D:/Claire/Atlas_lignes/data_out/Noct/Noct_2.pdf" puis ......
Ce n'est pas parceque j'ai remplacé les \ par des / ?
Hors ligne
#23 Fri 21 June 2013 11:48
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Non en fait
J'ai fait le test en re-remplacant / par \
Hors ligne
#24 Fri 21 June 2013 11:48
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGis 10 : Générer automatiquement une série d'atlas
C'est possible. Dans mon script qui utilise ces fonctions, mes chemins sont construits avec des "\\", par exemple :
file_pdf = dir_data_out + "\\" + c_ligne.LIGNE + "_" + str(page_num) + ".pdf"
Hors ligne
#25 Fri 21 June 2013 11:53
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
J'ai essayé avec
Code:
file_pdf = file_pdf.replace("/","\\")
avant d'utiliser appendPages et ca ne fonctionne toujours pas
Hors ligne
#26 Mon 24 June 2013 16:29
- guil31
- Participant actif
- Date d'inscription: 22 Jan 2013
- Messages: 79
Re: ArcGis 10 : Générer automatiquement une série d'atlas
Je rame toujours sur mon export en pdf.
J'ai essayé de partir du pdf de la 1ere page, de l'ouvrir et de faire un insertPages.
Le message est "PDFDocObject : impossible d’ajouter des pages au document PDF"
Sans solution, je me suis dit que je pourrai utiliser le module pyPdf
mais il semblerait que non, car j'ai l'erreur suivante:
<type 'exceptions.ImportError'>: No module named pyPdf
Échec de l’exécution de (Atlas).
Est-ce que on peut installer des modules complémentaires? Comment?
Hors ligne