[Libreoffice-commits] core.git: sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Thu Jan 5 15:35:03 UTC 2017
sw/source/core/text/EnhancedPDFExportHelper.cxx | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
New commits:
commit 46153bdcf2f89e88607dfb0dd0003108796424e9
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Thu Jan 5 10:55:57 2017 +0100
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
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index 85cc511..6a4c102 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);
}
}
}
More information about the Libreoffice-commits
mailing list