summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-01-05 10:55:57 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-01-05 16:34:36 +0100
commit46153bdcf2f89e88607dfb0dd0003108796424e9 (patch)
tree19c451eb25e65d405beeee8622586cfe39972063
parent9739392cbd0e7497351b7002a235b26c21392b9f (diff)
Related: tdf#105093 sw PDF export: handle embedded videos
Use vcl::PDFExtOutDevData::SetScreenStream() for embedded media to make sure that vnd.sun.star.Package: URLs don't end up in PDF out literally. Acrobat Reader obviously doesn't understand that protocol. Change-Id: I384891b3ef2dcea25bbf591bd210ccf899d30a61
-rw-r--r--sw/source/core/text/EnhancedPDFExportHelper.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index 85cc511f7741..6a4c102e1efe 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1813,7 +1813,7 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
}
else if (pFrameFormat->Which() == RES_DRAWFRMFMT)
{
- // Handle linked videos.
+ // Turn media shapes into Screen annotations.
if (SdrObject* pObject = pFrameFormat->FindRealSdrObject())
{
SwRect aSnapRect = pObject->GetSnapRect();
@@ -1834,7 +1834,16 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
for (sal_Int32 nScreenPageNum : aScreenPageNums)
{
sal_Int32 nScreenId = pPDFExtOutDevData->CreateScreen(aPDFRect, nScreenPageNum);
- pPDFExtOutDevData->SetScreenURL(nScreenId, aMediaURL);
+ if (aMediaURL.startsWith("vnd.sun.star.Package:"))
+ {
+ // Embedded media.
+ OUString aTempFileURL;
+ xShapePropSet->getPropertyValue("PrivateTempFileURL") >>= aTempFileURL;
+ pPDFExtOutDevData->SetScreenStream(nScreenId, aTempFileURL);
+ }
+ else
+ // Linked media.
+ pPDFExtOutDevData->SetScreenURL(nScreenId, aMediaURL);
}
}
}