sd/qa/unit/data/odp/embedded-pdf.odp |binary sd/qa/unit/export-tests.cxx | 14 ++++++++++++++ svx/source/svdraw/svdograf.cxx | 3 +++ 3 files changed, 17 insertions(+)
New commits: commit 1632d6380cb905c3d3c022079e703abf7ce14f5e Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Jun 28 09:08:51 2016 +0200 ODP export: add embedded pdf support This is basically the draw shape equivalent of SwGrfNode::GetReplacementGrfObj(), that already had explicit code for PDF purposes. Change-Id: I00a619082f59a3e377d45c3a59615cadae295586 Reviewed-on: https://gerrit.libreoffice.org/26724 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Jenkins <c...@libreoffice.org> diff --git a/sd/qa/unit/data/odp/embedded-pdf.odp b/sd/qa/unit/data/odp/embedded-pdf.odp new file mode 100644 index 0000000..87aec5a Binary files /dev/null and b/sd/qa/unit/data/odp/embedded-pdf.odp differ diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx index 0dd47e5..a2c3be2 100644 --- a/sd/qa/unit/export-tests.cxx +++ b/sd/qa/unit/export-tests.cxx @@ -157,6 +157,7 @@ public: void testTdf80224(); void testTdf92527(); void testTdf99224(); + void testEmbeddedPdf(); CPPUNIT_TEST_SUITE(SdExportTest); CPPUNIT_TEST(testFdo90607); @@ -212,6 +213,7 @@ public: CPPUNIT_TEST(testExtFileField); CPPUNIT_TEST(testAuthorField); CPPUNIT_TEST(testTdf99224); + CPPUNIT_TEST(testEmbeddedPdf); CPPUNIT_TEST_SUITE_END(); @@ -1722,6 +1724,18 @@ void SdExportTest::testTdf99224() xShell->DoClose(); } +void SdExportTest::testEmbeddedPdf() +{ + sd::DrawDocShellRef xShell = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/odp/embedded-pdf.odp"), ODP); + xShell = saveAndReload(xShell, ODP); + uno::Reference<drawing::XDrawPage> xPage = getPage(0, xShell); + uno::Reference<beans::XPropertySet> xShape(xPage->getByIndex(0), uno::UNO_QUERY); + OUString aReplacementGraphicURL; + xShape->getPropertyValue("ReplacementGraphicURL") >>= aReplacementGraphicURL; + CPPUNIT_ASSERT(!aReplacementGraphicURL.isEmpty()); + xShell->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 93a662b..2dc6371 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -443,6 +443,9 @@ const GraphicObject* SdrGrafObj::GetReplacementGraphicObject() const { const_cast< SdrGrafObj* >(this)->mpReplacementGraphic = new GraphicObject(rSvgDataPtr->getReplacement()); } + else if (pGraphic->GetGraphic().getPdfData().hasElements()) + // Replacement graphic for metafile + PDF is just the metafile. + const_cast<SdrGrafObj*>(this)->mpReplacementGraphic = new GraphicObject(pGraphic->GetGraphic().GetGDIMetaFile()); } return mpReplacementGraphic; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits