def testPageFileName(self): l = QgsLayout(QgsProject.instance()) exporter = QgsLayoutExporter(l) details = QgsLayoutExporter.PageExportDetails() details.directory = '/tmp/output' details.baseName = 'my_maps' details.extension = 'png' details.page = 0 self.assertEqual(exporter.generateFileName(details), '/tmp/output/my_maps.png') details.page = 1 self.assertEqual(exporter.generateFileName(details), '/tmp/output/my_maps_2.png') details.page = 2 self.assertEqual(exporter.generateFileName(details), '/tmp/output/my_maps_3.png')
def testExcludePagesImage(self): l = QgsLayout(QgsProject.instance()) l.initializeDefaults() # add a second page page2 = QgsLayoutItemPage(l) page2.setPageSize('A5') l.pageCollection().addPage(page2) exporter = QgsLayoutExporter(l) # setup settings settings = QgsLayoutExporter.ImageExportSettings() settings.dpi = 80 settings.generateWorldFile = False rendered_file_path = os.path.join(self.basetestpath, 'test_exclude_export.png') details = QgsLayoutExporter.PageExportDetails() details.directory = self.basetestpath details.baseName = 'test_exclude_export' details.extension = 'png' details.page = 0 self.assertEqual(exporter.exportToImage(rendered_file_path, settings), QgsLayoutExporter.Success) self.assertTrue(os.path.exists(exporter.generateFileName(details))) details.page = 1 self.assertTrue(os.path.exists(exporter.generateFileName(details))) # exclude a page l.pageCollection().page(0).setExcludeFromExports(True) rendered_file_path = os.path.join(self.basetestpath, 'test_exclude_export_excluded.png') details.baseName = 'test_exclude_export_excluded' details.page = 0 self.assertEqual(exporter.exportToImage(rendered_file_path, settings), QgsLayoutExporter.Success) self.assertFalse(os.path.exists(exporter.generateFileName(details))) details.page = 1 self.assertTrue(os.path.exists(exporter.generateFileName(details))) # exclude second page l.pageCollection().page(1).setExcludeFromExports(True) rendered_file_path = os.path.join( self.basetestpath, 'test_exclude_export_excluded_all.png') details.baseName = 'test_exclude_export_excluded_all' details.page = 0 self.assertEqual(exporter.exportToImage(rendered_file_path, settings), QgsLayoutExporter.Success) self.assertFalse(os.path.exists(exporter.generateFileName(details))) details.page = 1 self.assertFalse(os.path.exists(exporter.generateFileName(details)))