From 1a425b015d10cb7f520f8f55812f01d0840381c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fauconnier?= Date: Mon, 18 Feb 2019 15:30:39 +0100 Subject: [PATCH] fixed an issue where pdf 'overlay' was badly scaled --- src/adaptors/UBExportFullPDF.cpp | 50 +------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/src/adaptors/UBExportFullPDF.cpp b/src/adaptors/UBExportFullPDF.cpp index fca09184..90439781 100644 --- a/src/adaptors/UBExportFullPDF.cpp +++ b/src/adaptors/UBExportFullPDF.cpp @@ -82,55 +82,7 @@ void UBExportFullPDF::saveOverlayPdf(UBDocumentProxy* pDocumentProxy, const QStr if (!pDocumentProxy || filename.length() == 0 || pDocumentProxy->pageCount() == 0) return; - //PDF - qDebug() << "exporting document to PDF Merger" << filename; - QPrinter pdfPrinter; - - pdfPrinter.setOutputFormat(QPrinter::PdfFormat); - pdfPrinter.setResolution(UBSettings::settings()->pdfResolution->get().toInt()); - pdfPrinter.setOutputFileName(filename); - pdfPrinter.setFullPage(true); - - QPainter* pdfPainter = 0; - - for(int pageIndex = 0 ; pageIndex < pDocumentProxy->pageCount(); pageIndex++) - { - UBGraphicsScene* scene = UBPersistenceManager::persistenceManager()->loadDocumentScene(pDocumentProxy, pageIndex); - // set background to white, no grid for PDF output - bool isDark = scene->isDarkBackground(); - UBPageBackground pageBackground = scene->pageBackground(); - scene->setBackground(false, UBPageBackground::plain); - - // set high res rendering - scene->setRenderingQuality(UBItem::RenderingQualityHigh); - scene->setRenderingContext(UBGraphicsScene::PdfExport); - - QSize pageSize = scene->nominalSize(); - - UBGraphicsPDFItem *pdfItem = qgraphicsitem_cast(scene->backgroundObject()); - - if (pdfItem) mHasPDFBackgrounds = true; - - pdfPrinter.setPaperSize(QSizeF(pageSize.width()*mScaleFactor, pageSize.height()*mScaleFactor), QPrinter::Point); - - if (!pdfPainter) pdfPainter = new QPainter(&pdfPrinter); - - if (pageIndex != 0) pdfPrinter.newPage(); - - //render to PDF - scene->setDrawingMode(true); - scene->render(pdfPainter, QRectF(), scene->normalizedSceneRect()); - - //restore screen rendering quality - scene->setRenderingContext(UBGraphicsScene::Screen); - scene->setRenderingQuality(UBItem::RenderingQualityNormal); - - //restore background state - scene->setDrawingMode(false); - scene->setBackground(isDark, pageBackground); - } - - if (pdfPainter) delete pdfPainter; + mSimpleExporter->persistsDocument(pDocumentProxy, filename); }