diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2023-04-05 12:24:43 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2023-04-05 15:39:37 +0200 |
commit | 5cc69594e4382c258f0e3e3b1ef210567fce1bd8 (patch) | |
tree | dadd5f3282f36fd6d62fb679eb5eea97f6f6ab1d /vcl/source/gdi/pdfextoutdevdata.cxx | |
parent | a5225ba82e94a549f44420f56a7cb9d7906561cc (diff) |
vcl,sw,sd: PDF/UA export: produce better /CT for SdrMediaObj
7.18.6.2 Media clip data
In the media clip data dictionary, the optional CT and Alt keys
(ISO 32000-1:2008, 13.2.4.2, Table 274) are required.
Presumably writing a potentially wrong hard-coded mime type here isn't
intended.
Change-Id: Ifa8ee199a4cf9ce83f410860d59b6c30475f80e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150050
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'vcl/source/gdi/pdfextoutdevdata.cxx')
-rw-r--r-- | vcl/source/gdi/pdfextoutdevdata.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx index 21f340fc2107..ff99fdbbcd90 100644 --- a/vcl/source/gdi/pdfextoutdevdata.cxx +++ b/vcl/source/gdi/pdfextoutdevdata.cxx @@ -200,12 +200,15 @@ void GlobalSyncData::PlayGlobalActions( PDFWriter& rWriter ) rWriter.Push(PushFlags::MAPMODE); rWriter.SetMapMode(mParaMapModes.front()); mParaMapModes.pop_front(); - mParaIds.push_back(rWriter.CreateScreen(mParaRects.front(), mParaInts.front(), mParaOUStrings.front())); + OUString const altText(mParaOUStrings.front()); + mParaOUStrings.pop_front(); + OUString const mimeType(mParaOUStrings.front()); + mParaOUStrings.pop_front(); + mParaIds.push_back(rWriter.CreateScreen(mParaRects.front(), mParaInts.front(), altText, mimeType)); // resolve AnnotIds structural attribute rWriter.SetLinkPropertyID(mParaIds.back(), sal_Int32(mParaIds.size()-1)); mParaRects.pop_front(); mParaInts.pop_front(); - mParaOUStrings.pop_front(); rWriter.Pop(); } break; @@ -704,13 +707,16 @@ sal_Int32 PDFExtOutDevData::CreateLink(const tools::Rectangle& rRect, OUString c return mpGlobalSyncData->mCurId++; } -sal_Int32 PDFExtOutDevData::CreateScreen(const tools::Rectangle& rRect, OUString const& rAltText, sal_Int32 nPageNr, SdrObject const*const pObj) +sal_Int32 PDFExtOutDevData::CreateScreen(const tools::Rectangle& rRect, + OUString const& rAltText, OUString const& rMimeType, + sal_Int32 nPageNr, SdrObject const*const pObj) { mpGlobalSyncData->mActions.push_back(PDFExtOutDevDataSync::CreateScreen); mpGlobalSyncData->mParaRects.push_back(rRect); mpGlobalSyncData->mParaMapModes.push_back(mrOutDev.GetMapMode()); mpGlobalSyncData->mParaInts.push_back(nPageNr); mpGlobalSyncData->mParaOUStrings.push_back(rAltText); + mpGlobalSyncData->mParaOUStrings.push_back(rMimeType); auto const ret(mpGlobalSyncData->mCurId++); m_ScreenAnnotations[pObj].push_back(ret); return ret; |