[QGIS-it-user] stampa con pyqgis 3 cambio orientamento e formato pagina

salve , con qgis 3 c'è stata un generale riscrittura delle api della composition,

attraverso la documentazione ho scopiazzato questo codice

che lanciato nella console di qgis crea una pagina A4 pdf in orizzontale con la scritta hello world in alto nella cartella del progetto

import os

p=QgsProject()
layout = QgsLayout(p)
layout.initializeDefaults()
label = QgsLayoutItemLabel(layout)
label.setText("Hello world")
label.adjustSizeToText()
layout.addItem(label)
pdf_path = os.path.join(QgsProject.instance().homePath(), "output.pdf")
exporter = QgsLayoutExporter(layout)
exporter.exportToPdf(pdf_path, QgsLayoutExporter.PdfExportSettings())

la domanda è se voglio dirgli di cambiare questa stessa pagina in una A3 in verticale come si fa?

saluti

ok ho trovato la soluzione la posto non si sa mai che possa servire a qualcun altro
in pratica è il problema è il layout.initializeDefaults() che inizializza una pagina orizzontale a4 senza possibilità di cambiamenti

al layout senza fare inizializzazioni bisogna aggiungere una pagina in questo modo

page=QgsLayoutItemPage(layout)
page.setPageSize("A3", QgsLayoutItemPage.Orientation.Portrait )
layout.pageCollection().addPage(page)

Il 12/04/2019 22:43, SC ha scritto:

salve , con qgis 3 c'è stata un generale riscrittura delle api della composition,

attraverso la documentazione ho scopiazzato questo codice

che lanciato nella console di qgis crea una pagina A4 pdf in orizzontale con la scritta hello world in alto nella cartella del progetto

import os

p=QgsProject()
layout = QgsLayout(p)
layout.initializeDefaults()
label = QgsLayoutItemLabel(layout)
label.setText("Hello world")
label.adjustSizeToText()
layout.addItem(label)
pdf_path = os.path.join(QgsProject.instance().homePath(), "output.pdf")
exporter = QgsLayoutExporter(layout)
exporter.exportToPdf(pdf_path, QgsLayoutExporter.PdfExportSettings())

la domanda è se voglio dirgli di cambiare questa stessa pagina in una A3 in verticale come si fa?

saluti

Grazie Elyparker

avevo proprio lo stesso problema stamane.

Alberto