summaryrefslogtreecommitdiff
path: root/filter/source
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2023-03-21 12:55:11 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2023-03-22 10:36:14 +0000
commit089b9e21c7210df3e5ee312a06131ce410989cf7 (patch)
tree8ab542a3e4ce50da4d323d254a440386d12729bc /filter/source
parent2b7b272e28bf95c4ed85cb118eacf065fb6dca3c (diff)
filter: PDF export dialog: always disable ReferenceXObject for PDF/UA
7.20 XObjects Reference XObjects, as noted in ISO 32000-1:2008, 8.10.4, shall not be used in conforming PDF/UA files. Change-Id: I62a4b6b76a6cb1d14d4fd39fad90ec0323a481c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149261 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'filter/source')
-rw-r--r--filter/source/pdf/impdialog.cxx11
-rw-r--r--filter/source/pdf/impdialog.hxx1
-rw-r--r--filter/source/pdf/pdfexport.cxx2
3 files changed, 14 insertions, 0 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 29d60abe73bc..c43cde0cf6e1 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -775,6 +775,7 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
if (!bIsPDFUA)
{
pParent->mbExportBookmarksUserSelection = pParent->mbExportBookmarks;
+ pParent->mbUseReferenceXObjectUserSelection = pParent->mbUseReferenceXObject;
}
pParent->mbUseTaggedPDFUserSelection = mbUseTaggedPDFUserSelection;
@@ -923,12 +924,22 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHa
}
mxCbExportBookmarks->set_active(true);
}
+ if (mxCbUseReferenceXObject->get_sensitive())
+ {
+ if (mpParent)
+ {
+ mpParent->mbUseReferenceXObjectUserSelection = mxCbUseReferenceXObject->get_active();
+ }
+ mxCbUseReferenceXObject->set_active(false);
+ }
}
else if (mpParent)
{
mxCbExportBookmarks->set_active(mpParent->mbExportBookmarksUserSelection);
+ mxCbUseReferenceXObject->set_active(mpParent->mbUseReferenceXObjectUserSelection);
}
mxCbExportBookmarks->set_sensitive(!bIsPDFUA);
+ mxCbUseReferenceXObject->set_sensitive(!bIsPDFUA);
ImpPDFTabOpnFtrPage *const pOpenPage(mpParent ? mpParent->getOpenPage() : nullptr);
if (pOpenPage)
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 62ed7d580f44..45442c58048b 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -87,6 +87,7 @@ class ImpPDFTabDialog final : public SfxTabDialogController
bool mbExportNotesInMargin;
bool mbViewPDF;
bool mbUseReferenceXObject;
+ bool mbUseReferenceXObjectUserSelection = false;
bool mbExportNotesPages;
bool mbExportOnlyNotesPages;
bool mbUseTransitionEffects;
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index 15d1a577fe47..3edcd1976c4f 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -712,6 +712,8 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
mbUseTaggedPDF = true;
// ISO 14289-1:2014, Clause: 7.16
mbCanExtractForAccessibility = true;
+ // ISO 14289-1:2014, Clause: 7.20
+ mbUseReferenceXObject = false;
}
// copy in context the values default in the constructor or set by the FilterData sequence of properties