Pyqgis Programmer 39s Guide 3 Pdf Work < Ultra HD >

# Assuming layout has a coverage layer set layout = project.layoutManager().layoutByName("AtlasLayout") exporter = QgsLayoutExporter(layout) atlas_layout = layout.atlas() atlas_layout.setEnabled(True) atlas_layout.setCoverageLayer(atlas_layer) # polygon grid, e.g., 100 map sheets Export each feature as a separate PDF page or file for i in range(atlas_layout.count()): atlas_layout.setCurrentFeature(i) # Option 1: Single multi-page PDF exporter.exportToPdf(f"C:/GIS/atlas_page_i.pdf", QgsLayoutExporter.PdfExportSettings()) Merging PDFs with PyQGIS QGIS itself does not merge PDFs, but your PyQGIS script can leverage Python’s PyPDF2 or pypdf library after export:

district_layer = QgsProject.instance().mapLayersByName("districts")[0] for feature in district_layer.getFeatures(): # Set map extent to feature geometry map_item.zoomToExtent(feature.geometry().boundingBox()) # Update a text label with district name title_label.setText(f"District feature['name']") # Refresh layout layout.refresh() exporter.exportToPdf(f"feature['name'].pdf", settings) Scenario: You need a PDF where clicking a feature on a legend or table opens a bookmarked page. pyqgis programmer 39s guide 3 pdf work

Whether you are an engineer automating daily map reports, a researcher building a multi-page atlas, or a consultant merging 50 district maps into a single PDF book, the tools are all there in PyQGIS 3. The official programmer’s guide (in its living online form) provides the theory; the code examples in this article provide the practice. # Assuming layout has a coverage layer set layout = project

result = exporter.exportToPdf("C:/GIS/output.pdf", settings) if result == QgsLayoutExporter.Success: print("PDF exported successfully") else: print(f"Export failed: result") One of the most powerful uses of PyQGIS PDF workflows is creating atlas-style map books without the QGIS GUI. The QgsLayoutExporter can iterate over features. result = exporter

Arriba