diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-01-05 10:55:57 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-01-05 16:34:36 +0100 |
commit | 46153bdcf2f89e88607dfb0dd0003108796424e9 (patch) | |
tree | 19c451eb25e65d405beeee8622586cfe39972063 | |
parent | 9739392cbd0e7497351b7002a235b26c21392b9f (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.cxx | 13 |
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); } } } |