Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 02 December 2015 11:09

Estelle_Geo
Juste Inscrit !
Date d'inscription: 15 Oct 2015
Messages: 7

Export de pages dynamiques en PDF (Python)

Bonjour,

Je viens de terminer un script permettant d'exporter toutes les pages dynamiques de mon mxd en format pdf, seulement pour chaque page dynamique, un pdf est créé.

Je voulais donc savoir s'il était possible d'exporter toutes les pages dynamiques d'un atlas dans un même pdf et sans utiliser un module complémentaire (type pypdf) ? Ou du moins pouvoir les assembler par la suite (mais sans l'aide d'un module complémentaire) ?

Merci d'avance !

Hors ligne

 

#2 Wed 02 December 2015 11:40

JulienRscl
Participant occasionnel
Lieu: Lyon
Date d'inscription: 23 May 2013
Messages: 26

Re: Export de pages dynamiques en PDF (Python)

Bonjour,
Logiquement cet export se réalise dans le même pdf. Serait-il possible d'avoir le script que vous utilisez pour faire cet export ?

Hors ligne

 

#3 Wed 02 December 2015 11:52

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 989
Site web

Re: Export de pages dynamiques en PDF (Python)

Bonjour,

Si vous passez par le module mxd.dataDrivenPages.exportToPDF, le paramètre à définir est page_range_type = 'ALL'

Code:

mxd.dataDrivenPages.exportToPDF("outFile.pdf", page_range_type = 'ALL', ......

Martin

Dernière modification par nitram (Wed 02 December 2015 11:53)

Hors ligne

 

#4 Wed 02 December 2015 12:06

Estelle_Geo
Juste Inscrit !
Date d'inscription: 15 Oct 2015
Messages: 7

Re: Export de pages dynamiques en PDF (Python)

En fait j'avais fait un outil pour exporter selon différents formats... Avec plusieurs paramètres en entrée :
- Dossier_export
- mxd_chemin
- nomChamp_suffixage
- nom_doc
- résolution et qualité si format image [...]

Code:

# Chargement du mxd
mxd = arcpy.mapping.MapDocument(mxd_chemin)

# Boucle sur les pages de l'atlas
for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):
  mxd.dataDrivenPages.currentPageID = pageNum
  row =  mxd.dataDrivenPages.pageRow
  try:
    champ_valeur = str(row.getValue(nomChamp_suffixage))
  except :
    champ_valeur = str(pageNum)
  if champ_valeur == "":
    champ_valeur = str(pageNum)
    
  #Appel de la fonction d export adaptee
  if format_image == "PDF":
    arcpy.mapping.ExportToPDF(mxd, Dossier_export + r"Chemin de sortie avec nom_doc".pdf")

  if [...]

Je n'y avais pas pensé mais du coup je vais le simplifier pour le format PDF en ne passant pas par la boucle ?

Hors ligne

 

#5 Wed 02 December 2015 13:07

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 989
Site web

Re: Export de pages dynamiques en PDF (Python)

C'est une façon de faire, le pdf étant le seul format (d'export arcgis) autorisant le multipage.

Sinon, vous pouvez aussi, garder votre export multiple des pages pdf et les associer par la suite:
fonction .appendPages
Combining Data Driven Pages with Python and arcpy.mapping : @ http://blogs.esri.com/esri/arcgis/2010/ … y-mapping/

à vous de voir...

Martin

Hors ligne

 

#6 Wed 02 December 2015 14:10

Estelle_Geo
Juste Inscrit !
Date d'inscription: 15 Oct 2015
Messages: 7

Re: Export de pages dynamiques en PDF (Python)

Merci beaucoup pour l'aide et les infos concernant la fonction .appendPages que je ne connaissais pas.

J'ai enlevé la boucle pour le format pdf et utilisé le module mxd.dataDrivenPages.exportToPDF comme vous m'avez conseillé au début, ça paraît plus simple et ça fonctionne. Je vous remercie !

Bonne journée,
Estelle.

Hors ligne

 

#7 Wed 02 December 2015 14:52

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 989
Site web

Re: Export de pages dynamiques en PDF (Python)

De plus, un module (mxd.dataDrivenPages.exportToPDF) natif doit être optimisé par rapport a l'autre méthode... à priori...

Bonne journée aussi,
Martin

Hors ligne

 

Pied de page des forums

Powered by FluxBB