sw/source/core/text/EnhancedPDFExportHelper.cxx |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

New commits:
commit 46153bdcf2f89e88607dfb0dd0003108796424e9
Author: Miklos Vajna <vmik...@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);
                             }
                         }
                     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to