Message posté par : arnaudp
----------------------------------------
Bonsoir,
En suivant cet exemple
https://gis.stackexchange.com/questions/331300/exporting-map-to-pdf-from-te…
je suis arrivé à ce résultat qui fonctionne.
-----------------
Code :
from qgis.core import
QgsReadWriteContext,QgsPrintLayout,QgsLayout,QgsProject,QgsLayoutExporter
# lecture du fichier QPT
ff = open("/Users/arnaud/Desktop/TEST_script.qpt", 'r')
tmplt = ff.read()
ff.close()
doc = QDomDocument()
doc.setContent(tmplt)
ele = doc.documentElement()
# On initialise un QgsPRINTLayout
project = QgsProject.instance()
layout = QgsPrintLayout(project)
layout.initializeDefaults()
# On ajoute les éléments issu du QPT
layout.addItemsFromXml(ele, doc, QgsReadWriteContext())
# Cette partie permet d'ajouter le QPT au gestionnaire des mises en page (pratique
pour debugger)
# layout.setName("TEST")
# manager = project.layoutManager()
# for lay in manager.printLayouts():
# if lay.name() == "TEST":
# manager.removeLayout(lay)
# manager.addLayout(layout)
# On export
exporter = QgsLayoutExporter(layout)
exporter.exportToPdf("/Users/arnaud/Desktop/essai.pdf",
QgsLayoutExporter.PdfExportSettings())
-----------------
Chez moi, c'était dans la fonction WBO_COMPOSEUR_ChargerTemplate que ça plantait.
LA différence est l'usage de addItemsFromXml
https://qgis.org/pyqgis/3.40/core/QgsLayout.html#qgis.core.QgsLayout.addIte… à la
place de loadFromTemplate.
Je n'ai pas toute les subtilités en tête. Si quelqu'un a des éclaircissements, je
suis très curieux.
Sinon, j'essairais de regarder plus en détail lorsque j'aurais plus de temps.
Bonne soirée.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=373382#p373382
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