diff --git a/resources/etc/OpenBoard.config b/resources/etc/OpenBoard.config index 463ece5b..77eea8d1 100644 --- a/resources/etc/OpenBoard.config +++ b/resources/etc/OpenBoard.config @@ -124,6 +124,8 @@ RefreshRateInFramePerSecond=2 [PDF] enableQualityLossToIncreaseZoomPerfs=true +ExportBackgroundGrid=false +ExportBackgroundColor=false Margin=20 PageFormat=A4 Resolution=300 diff --git a/src/adaptors/UBExportPDF.cpp b/src/adaptors/UBExportPDF.cpp index 177f716d..683716bb 100644 --- a/src/adaptors/UBExportPDF.cpp +++ b/src/adaptors/UBExportPDF.cpp @@ -106,7 +106,17 @@ bool UBExportPDF::persistsDocument(UBDocumentProxy* pDocumentProxy, const QStrin // set background to white, no crossing for PDF output bool isDark = scene->isDarkBackground(); UBPageBackground pageBackground = scene->pageBackground(); - scene->setBackground(false, UBPageBackground::plain); + + bool exportDark = isDark && UBSettings::settings()->exportBackgroundColor->get().toBool(); + + if (UBSettings::settings()->exportBackgroundGrid->get().toBool()) + { + scene->setBackground(exportDark, pageBackground); + } + else + { + scene->setBackground(exportDark, UBPageBackground::plain); + } // pageSize is the output PDF page size; it is set to equal the scene's boundary size; if the contents // of the scene overflow from the boundaries, they will be scaled down. diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index f659452f..c98f1d70 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -409,6 +409,8 @@ void UBSettings::init() pdfZoomBehavior = new UBSetting(this, "PDF", "ZoomBehavior", "4"); enableQualityLossToIncreaseZoomPerfs = new UBSetting(this, "PDF", "enableQualityLossToIncreaseZoomPerfs", true); + exportBackgroundGrid = new UBSetting(this, "PDF", "ExportBackgroundGrid", false); + exportBackgroundColor = new UBSetting(this, "PDF", "ExportBackgroundColor", false); podcastFramesPerSecond = new UBSetting(this, "Podcast", "FramesPerSecond", 10); podcastVideoSize = new UBSetting(this, "Podcast", "VideoSize", "Medium"); diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h index 17d4ae79..6067db5b 100644 --- a/src/core/UBSettings.h +++ b/src/core/UBSettings.h @@ -361,6 +361,8 @@ class UBSettings : public QObject UBSetting* pdfZoomBehavior; UBSetting* enableQualityLossToIncreaseZoomPerfs; + UBSetting* exportBackgroundGrid; + UBSetting* exportBackgroundColor; UBSetting* podcastFramesPerSecond; UBSetting* podcastVideoSize;