Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os.path
- import sys
- #setting the environment variables
- os.environ['QGIS_PREFIX_PATH'] = r'C:/OSGeo4W64/apps/qgis'
- os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = r'C:/OSGEO4~1/apps/Qt5/plugins'
- os.environ['PATH'] += r';C:/OSGeo4W64/apps/qgis/bin;C:/OSGeo4W64/apps/Qt5/bin;C:/OSGeo4W64/apps/Python37'
- sys.path.extend([r'C:/OSGeo4W64/apps/qgis/python',r'C:/OSGeo4W64/apps/qgis/Python37/Lib/site-packages'])
- from qgis.core import *
- from PyQt5.QtCore import QRectF
- qgs = QgsApplication([], False)
- qgs.initQgis()
- shp_file = 'C:/Users/y.saban/Desktop/zonning/rab.shp'
- vlayer = QgsVectorLayer(shp_file, 'vlayer')
- QgsProject.instance().addMapLayer(vlayer,False)
- l = QgsPrintLayout(QgsProject.instance())
- l.initializeDefaults()
- l.setUnits(QgsUnitTypes.LayoutMillimeters)
- page = l.pageCollection().pages()[0]
- lm = 20 # left margin
- tm = 32 # upper margin
- w, h = 900, 600 #width and height
- page.setPageSize(QgsLayoutSize(1189, 841))
- #setting the layer style
- blackSymbol = QgsFillSymbol.createSimple({'color': '255,0,0,100',
- 'color_border': 'BLACK',
- 'width_border': '0.1'})
- vlayer.setRenderer(QgsSingleSymbolRenderer(blackSymbol))
- #adding the map to the layout
- theMap = QgsLayoutItemMap(l)
- theMap.updateBoundingRect()
- theMap.setRect(QRectF(lm,tm, w, h))
- theMap.setPos(lm,tm)
- theMap.updateBoundingRect()
- theMap.setLayers([vlayer])
- # setting the map extent
- theMap.setExtent(QgsRectangle(363600.0, 376800.0, 364500.0 ,377400.0))
- theMap.attemptSetSceneRect(QRectF(lm,tm, w, h))
- l.addItem(theMap)
- l.updateBounds()
- #exporting to pdf
- exporter = QgsLayoutExporter(l)
- pdf_settings = exporter.PdfExportSettings()
- exporter.exportToPdf('C:/map.pdf', pdf_settings)
- qgs.exitQgis()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement