0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-23 16:22:58 +03:00
LimeReport/limereport/exporters/lrpdfexporter.cpp
Андрей Лухнов 0fca7169d3 Define code style and format all source file using clang-format-14
except those placed in 3rdparty directories.
2024-09-19 21:09:38 +03:00

43 lines
1.1 KiB
C++

#include "lrpdfexporter.h"
#include "lrexportersfactory.h"
#include "lrreportengine_p.h"
#include <QPrinter>
namespace {
LimeReport::ReportExporterInterface* createPDFExporter(LimeReport::ReportEnginePrivate* parent)
{
return new LimeReport::PDFExporter(parent);
}
bool VARIABLE_IS_NOT_USED registred = LimeReport::ExportersFactory::instance().registerCreator(
"PDF", LimeReport::ExporterAttribs(QObject::tr("Export to PDF"), "PDFExporter"),
createPDFExporter);
} // namespace
namespace LimeReport {
PDFExporter::PDFExporter(ReportEnginePrivate* parent): QObject(parent), m_reportEngine(parent) { }
bool PDFExporter::exportPages(ReportPages pages, const QString& fileName,
const QMap<QString, QVariant>& params)
{
Q_UNUSED(params);
if (!fileName.isEmpty()) {
QPrinter printer;
printer.setOutputFileName(fileName);
printer.setOutputFormat(QPrinter::PdfFormat);
if (!pages.isEmpty()) {
m_reportEngine->printPages(pages, &printer);
}
m_reportEngine->emitPrintedToPDF(fileName);
return true;
}
return false;
}
} // namespace LimeReport