104 void renderPage( QPainter *painter,
int page )
const;
124 QImage renderPageToImage(
int page, QSize imageSize = QSize(),
double dpi = -1 )
const;
133 void renderRegion( QPainter *painter,
const QRectF ®ion )
const;
151 QImage renderRegionToImage(
const QRectF ®ion, QSize imageSize = QSize(),
double dpi = -1 )
const;
194 bool cropToContents =
false;
215 bool generateWorldFile =
false;
223 bool exportMetadata =
true;
291 bool rasterizeWholeImage =
false;
300 bool forceVectorOutput =
false;
307 bool appendGeoreference =
true;
315 bool exportMetadata =
true;
336 bool simplifyGeometries =
true;
349 bool writeGeoPdf =
false;
364 bool exportLayersAsSeperateFiles =
false;
374 bool useIso32000ExtensionFormatGeoreferencing =
true;
387 bool useOgcBestPracticeFormatGeoreferencing =
false;
394 bool includeGeoPdfFeatures =
true;
469 bool rasterizeWholeImage =
false;
485#if defined( HAVE_QTPRINTER )
527 bool forceVectorOutput =
false;
533 bool cropToContents =
false;
546 bool exportAsLayers =
false;
556 bool exportLabelsToSeparateLayers =
true;
564 bool exportMetadata =
true;
585 bool simplifyGeometries =
true;
638 QMap< QString, QgsLabelingResults * > labelingResults();
651 QMap< QString, QgsLabelingResults * > takeLabelingResults();
669 bool georeferenceOutput(
const QString &file,
QgsLayoutItemMap *referenceMap =
nullptr,
670 const QRectF &exportRegion = QRectF(),
double dpi = -1 )
const;
678 void computeWorldFileParameters(
double &a,
double &b,
double &
c,
double &d,
double &e,
double &f,
double dpi = -1 )
const;
685 void computeWorldFileParameters(
const QRectF ®ion,
double &a,
double &b,
double &
c,
double &d,
double &e,
double &f,
double dpi = -1 )
const;
695 static bool requiresRasterization(
const QgsLayout *layout );
704 static bool containsAdvancedEffects(
const QgsLayout *layout );
713 virtual QString generateFileName(
const PageExportDetails &details )
const;
717 QPointer< QgsLayout > mLayout;
719 void captureLabelingResults();
720 QMap< QString, QgsLabelingResults * > mLabelingResults;
722 mutable QString mErrorFileName;
723 mutable QString mErrorMessage;
725 QImage createImage(
const ImageExportSettings &settings,
int page, QRectF &bounds,
bool &skipPage )
const;
731 static int firstPageToBeExported(
QgsLayout *layout );
736 static bool saveImage(
const QImage &image,
const QString &imageFilename,
const QString &imageFormat,
QgsProject *projectForMetadata,
int quality = -1 );
751 std::unique_ptr<double[]> computeGeoTransform(
const QgsLayoutItemMap *referenceMap =
nullptr,
const QRectF &exportRegion = QRectF(),
double dpi = -1 )
const;
754 void writeWorldFile(
const QString &fileName,
double a,
double b,
double c,
double d,
double e,
double f )
const;
759 static void preparePrintAsPdf(
QgsLayout *layout, QPdfWriter *device,
const QString &filePath );
761 static void preparePrint(
QgsLayout *layout, QPagedPaintDevice *device,
bool setFirstPageSize =
false );
766 ExportResult print( QPagedPaintDevice *device );
776 ExportResult printPrivate( QPagedPaintDevice *device, QPainter &painter,
bool startNewPage =
false,
double dpi = -1,
bool rasterize =
false );
778 static void updatePrinterPageSize(
QgsLayout *layout, QPagedPaintDevice *device,
int page );
780 ExportResult renderToLayeredSvg(
const SvgExportSettings &settings,
double width,
double height,
int page,
const QRectF &bounds,
781 const QString &filename,
unsigned int svgLayerId,
const QString &layerName,
782 QDomDocument &svg, QDomNode &svgDocRoot,
bool includeMetadata )
const;
784 void appendMetadataToSvg( QDomDocument &svg )
const;
786 bool georeferenceOutputPrivate(
const QString &file,
QgsLayoutItemMap *referenceMap =
nullptr,
787 const QRectF &exportRegion = QRectF(),
double dpi = -1,
bool includeGeoreference =
true,
bool includeMetadata =
false )
const;
789 ExportResult handleLayeredExport(
const QList<QGraphicsItem *> &items,
791 const std::function<QString(
QgsLayoutItem *item )> &getItemExportGroupFunc
795 static QString getCreator();
798 static void setXmpMetadata( QPdfWriter *pdfWriter,
QgsLayout *layout );
802 friend class TestQgsLayout;
803 friend class TestQgsLayoutExporter;
Stores information relating to the current rendering settings for a layout.
A boolean settings entry.
An integer settings entry.
Contains details of a page being exported by the class.
QString baseName
Base part of filename (i.e. file name without extension or '.')
QString extension
File suffix/extension (without the leading '.')