diff --git a/src/Mod/TechDraw/Gui/PagePrinter.cpp b/src/Mod/TechDraw/Gui/PagePrinter.cpp index cee88a37fd..cb1dc293f6 100644 --- a/src/Mod/TechDraw/Gui/PagePrinter.cpp +++ b/src/Mod/TechDraw/Gui/PagePrinter.cpp @@ -134,6 +134,8 @@ void PagePrinter::makePageLayout(TechDraw::DrawPage* dPage, QPageLayout& pageLay height = attr.pageheight; pageLayout.setPageSize(QPageSize(attr.paperSize)); pageLayout.setOrientation(attr.orientation); + pageLayout.setMode(QPageLayout::FullPageMode); + pageLayout.setMargins(QMarginsF()); } /// print the Page associated with the parent MDIViewPage as a Pdf file @@ -149,6 +151,7 @@ void PagePrinter::printPdf(std::string file) QString outputFile = QString::fromUtf8(file.data(), file.size()); QPdfWriter pdfWriter(outputFile); QPageLayout pageLayout = pdfWriter.pageLayout(); + auto marginsdb = pageLayout.margins(QPageLayout::Millimeter); QString documentName = QString::fromUtf8(m_vpPage->getDrawPage()->getNameInDocument()); pdfWriter.setTitle(documentName); // default pdfWriter dpi is 1200. @@ -159,6 +162,7 @@ void PagePrinter::printPdf(std::string file) double height = A4Widthmm; makePageLayout(dPage, pageLayout, width, height); pdfWriter.setPageLayout(pageLayout); + marginsdb = pageLayout.margins(QPageLayout::Millimeter); // first page does not respect page layout unless painter is created after // pdfWriter layout is established. @@ -229,16 +233,6 @@ void PagePrinter::printAll(QPrinter* printer, App::Document* doc) makePageLayout(dPage, pageLayout, width, height); printer->setPageLayout(pageLayout); - //for some reason the first page doesn't obey the pageLayout, so we have to print - //a sacrificial blank page, but we make it a feature instead of a bug by printing a - //table of contents on the sacrificial page. - // Note: if the painter(printer) occurs after the printer->setPageLayout, then the - // first page will obey the layout. This would mean creating the painter inside the - // loop. - // if (firstTime) { - // firstTime = false; - // printBannerPage(printer, painter, pageLayout, doc, docObjs); - // } if (!firstTime) { printer->newPage(); }