Message posté par : Grégory Bodet (gregory.bodet(a)gmail.com)
----------------------------------------
Bonjour,
Merci à tous pour vos retours. J'ai pu faire fonctionner le Plugin Maps Printer après
mettre aperçu qu'il fallait écrire le nom de la mise en page en minuscule, les
majuscules ne fonctionnant pas.
Pour le fonctionnement de vos scripts Python, je n'ai pas encore pu les faire
fonctionner. Le premier fournit par ThomasG ne marche toujours pas, il se lance et bloc
QGIS. Celui de ppluvinet se lance et me renvoi SUCCESS sans pour autant écrire le PDF.
Il s'agit peut-être d'un problème de variable ?
-----------------
Code :
from qgis.core import QgsApplication, QgsProject, QgsLayoutExporter
import os
from qgis.core import QgsApplication, QgsProject, QgsProject
from qgis.core import QgsProject
from qgis.gui import QgsMapCanvas, QgsLayerTreeMapCanvasBridge
from qgis.utils import iface
from qgis.core.contextmanagers import qgisapp
from PyQt5.QtCore import QFileInfo
import sys
def export_atlas(qgs_project_path, layout_name, outputs_folder):
# Open existing project
project = QgsProject.instance()
project.read(qgs_project_path)
# Open prepared layout that as atlas enabled and set
layout = project.layoutManager().layoutByName(layout_name)
# Start atlas iterator
atlas = layout.atlas()
if atlas.beginRender():
while atlas.next():
exporter = QgsLayoutExporter(layout)
settings = QgsLayoutExporter.ImageExportSettings()
filename = atlas.currentFilename()+'_.png'
#f'atlas.currentFilename().png'
filename_path = os.path.join(outputs_folder, filename)
print(f'Export '+atlas.currentFilename())
exporter.exportToImage(filename_path, settings)
print(f'finished')
atlas.endRender()
else:
print('WARNING - No atlas features available for export!')
def main():
# Start a QGIS application without GUI
qgs = QgsApplication([], False)
qgs.initQgis()
#Chemon des projets qgz, chemin du répertoire d'export et nom du composeur
project_path = sys.argv[1]
output_folder = 'C:/temp/pluih_test_export_auto/'
layout_name = 'planche_27'
export_atlas(project_path, layout_name, output_folder)
# Close the QGIS application
qgs.exitQgis()
if __name__ == "__main__":
main()
-----------------
Cordialement
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=344685#p344685
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net