From fa327ec15298648ed44ca9bec7a37d722867827e Mon Sep 17 00:00:00 2001 From: WandererFan Date: Mon, 16 Dec 2024 11:47:08 -0500 Subject: [PATCH] [TD]Fix transparent area in pdf (fix #18443) (#18507) * [TD]fix transparent areas in pdf (#18443) * [TD]restore use of PDF/A-1b format - was not working in older versions of QPdfWriter --- src/Mod/TechDraw/Gui/PagePrinter.cpp | 8 ++++---- src/Mod/TechDraw/Gui/QGIViewBalloon.cpp | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Mod/TechDraw/Gui/PagePrinter.cpp b/src/Mod/TechDraw/Gui/PagePrinter.cpp index c620c828dd..5ce473f019 100644 --- a/src/Mod/TechDraw/Gui/PagePrinter.cpp +++ b/src/Mod/TechDraw/Gui/PagePrinter.cpp @@ -183,10 +183,9 @@ void PagePrinter::printAllPdf(QPrinter* printer, App::Document* doc) QString documentName = QString::fromUtf8(doc->getName()); QPdfWriter pdfWriter(outputFile); - // setPdfVersion sets the printed PDF Version to comply with PDF/A-1b, more details under: - // https://www.kdab.com/creating-pdfa-documents-qt/ but this is not working as of Qt 5.12 - // printer->setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); - // pdfWriter.setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); + // set the printed PDF Version to comply with PDF/A-1b, more details under: + // https://www.kdab.com/creating-pdfa-documents-qt/ + pdfWriter.setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); pdfWriter.setTitle(documentName); pdfWriter.setResolution(printer->resolution()); @@ -350,6 +349,7 @@ void PagePrinter::printPdf(ViewProviderPage* vpPage, const std::string& file) // set up the pdfwriter QString outputFile = QString::fromStdString(filespec); QPdfWriter pdfWriter(outputFile); + pdfWriter.setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); QPageLayout pageLayout = pdfWriter.pageLayout(); auto marginsdb = pageLayout.margins(QPageLayout::Millimeter); QString documentName = QString::fromUtf8(vpPage->getDrawPage()->getNameInDocument()); diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index acdda7b4c1..f137ebd864 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -925,6 +925,7 @@ void QGIViewBalloon::setPens(void) { balloonLines->setWidth(m_lineWidth); balloonShape->setWidth(m_lineWidth); + balloonShape->setFillColor(PreferencesGui::pageQColor()); arrow->setWidth(m_lineWidth); }