diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2023-03-21 12:55:11 +0100 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2023-03-22 10:36:14 +0000 |
commit | 089b9e21c7210df3e5ee312a06131ce410989cf7 (patch) | |
tree | 8ab542a3e4ce50da4d323d254a440386d12729bc /filter/source | |
parent | 2b7b272e28bf95c4ed85cb118eacf065fb6dca3c (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.cxx | 11 | ||||
-rw-r--r-- | filter/source/pdf/impdialog.hxx | 1 | ||||
-rw-r--r-- | filter/source/pdf/pdfexport.cxx | 2 |
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 |