OleObject
Contents
[
Hide
]
Demonstrates embedding a file as an OLE object and updating its data using Aspose.Slides for PHP via Java.
Add an OLE Object
Embed a PDF file into a presentation.
function addOleObject() {
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$pdfData = new OleEmbeddedDataInfo(file_get_contents("doc.pdf"), "pdf");
$oleFrame = $slide->getShapes()->addOleObjectFrame(20, 20, 50, 50, $pdfData);
$presentation->save("ole_object.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
Access an OLE Object
Retrieve the first OLE object frame on a slide.
function accessOleObject() {
$presentation = new Presentation("ole_object.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Access the first OLE frame on the slide.
$firstOleFrame = null;
$shapeCount = java_values($slide->getShapes()->size());
for ($index = 0; $index < $shapeCount; $index++) {
$shape = $slide->getShapes()->get_Item($index);
if (java_instanceof($shape, new JavaClass("com.aspose.slides.OleObjectFrame"))) {
$firstOleFrame = $shape;
break;
}
}
} finally {
$presentation->dispose();
}
}
Remove an OLE Object
Delete an embedded OLE object from the slide.
function removeOleObject() {
$presentation = new Presentation("ole_object.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Assuming the first shape on the slide is the OLE frame.
$oleFrame = $slide->getShapes()->get_Item(0);
$slide->getShapes()->remove($oleFrame);
$presentation->save("ole_object_removed.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
Update OLE Object Data
Replace the data embedded in an existing OLE object.
function updateOleObjectData() {
$presentation = new Presentation("ole_object.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Assuming the first shape on the slide is the OLE frame.
$oleFrame = $slide->getShapes()->get_Item(0);
$newData = new OleEmbeddedDataInfo(file_get_contents("picture.png"), "png");
$oleFrame->setEmbeddedData($newData);
$presentation->save("ole_object_updated.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}