filter/source/pdf/impdialog.cxx | 11 +++++++++++ filter/source/pdf/impdialog.hxx | 1 + filter/source/pdf/pdfexport.cxx | 2 ++ 3 files changed, 14 insertions(+)
New commits: commit 811f1caca0c8110db7e89a67af447754198a379e Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Tue Mar 21 12:55:11 2023 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Sat Mar 25 19:42:45 2023 +0000 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.st...@allotropia.de> (cherry picked from commit 089b9e21c7210df3e5ee312a06131ce410989cf7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149303 Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx index c6e1538468f5..5e92d3c3260b 100644 --- a/filter/source/pdf/impdialog.cxx +++ b/filter/source/pdf/impdialog.cxx @@ -761,6 +761,7 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent ) if (!bIsPDFUA) { pParent->mbExportBookmarksUserSelection = pParent->mbExportBookmarks; + pParent->mbUseReferenceXObjectUserSelection = pParent->mbUseReferenceXObject; } pParent->mbUseTaggedPDFUserSelection = mbUseTaggedPDFUserSelection; @@ -908,12 +909,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 577821104800..52500a18891b 100644 --- a/filter/source/pdf/impdialog.hxx +++ b/filter/source/pdf/impdialog.hxx @@ -86,6 +86,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 f9e495f9254c..b886aa5d0f43 100644 --- a/filter/source/pdf/pdfexport.cxx +++ b/filter/source/pdf/pdfexport.cxx @@ -715,6 +715,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