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