summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/pdfextoutdevdata.cxx
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2023-04-05 12:24:43 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2023-04-05 15:39:37 +0200
commit5cc69594e4382c258f0e3e3b1ef210567fce1bd8 (patch)
treedadd5f3282f36fd6d62fb679eb5eea97f6f6ab1d /vcl/source/gdi/pdfextoutdevdata.cxx
parenta5225ba82e94a549f44420f56a7cb9d7906561cc (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.cxx12
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;