Probleem met Objectvoorbeeld bij Toevoegen van OleObjectFrame

Inleiding

Wanneer u Aspose.Slides voor PHP via Java gebruikt en een OleObjectFrame aan een dia toevoegt, wordt op de uitvoerdia een bericht EMBEDDED OLE OBJECT weergegeven. Dit bericht is opzettelijk en GEEN fout.

Voor meer informatie over het werken met OLE‑objecten, zie Manage OLE.

Uitleg en Oplossing

Aspose.Slides toont het bericht EMBEDDED OLE OBJECT om u te laten weten dat het OLE‑object is gewijzigd en dat de voorbeeldafbeelding moet worden bijgewerkt.

Voorbeeld: als u een Microsoft Excel‑grafiek als een OleObjectFrame aan een dia toevoegt (voor meer details, zie het artikel “Manage OLE”) en vervolgens de presentatie opent in Microsoft PowerPoint, ziet u deze afbeelding op de dia:

OLE‑objectbericht

Wilt u controleren en bevestigen dat uw OLE‑object aan de dia is toegevoegd, moet u dubbelklikken op het bericht EMBEDDED OLE OBJECT, of u kunt er met de rechtermuisknop op klikken en via Object > Bewerken kiezen.

OLE object > Bewerken

PowerPoint opent vervolgens het ingebedde OLE‑object.

OLE‑objectgegevens

De dia kan het bericht EMBEDDED OLE OBJECT behouden. Zodra u op het OLE‑object klikt, wordt de voorbeeldweergave van de dia bijgewerkt en wordt het bericht EMBEDDED OLE OBJECT vervangen door de werkelijke afbeelding van het OLE‑object.

OLE‑objectvoorbeeld

U wilt nu misschien uw presentatie opslaan om er zeker van te zijn dat de afbeelding voor het OLE‑object correct wordt bijgewerkt. Op deze manier ziet u na het opslaan van de presentatie, wanneer u de presentatie opnieuw opent, het bericht EMBEDDED OLE OBJECT NIET meer.

Andere Oplossingen

Oplossing 1: Het bericht “Embedded OLE Object” vervangen door een afbeelding

Als u het bericht EMBEDDED OLE OBJECT niet wilt verwijderen door de presentatie in PowerPoint te openen en vervolgens op te slaan, kunt u het bericht vervangen door uw gewenste voorbeeldafbeelding. Deze code‑fragmenten tonen het proces:

$presentation = new Presentation("embeddedOLE.pptx");
try {
    $slide = $presentation->getSlides()->get_Item(0);
    $oleFrame = $slide->getShapes()->get_Item(0);

    // Voeg een afbeelding toe aan de presentatieresources.
    $image = Images::fromFile("myImage.png");
    $oleImage = $presentation->getImages()->addImage($image);
    $image->dispose();

    // Stel een titel en de afbeelding in voor de voorbeeldweergave van het OLE-object.
    $oleFrame->setSubstitutePictureTitle("My title");
    $oleFrame->getSubstitutePictureFormat()->getPicture()->setImage($oleImage);
    $oleFrame->setObjectIcon(false);

    $presentation->save("embeddedOLE-newImage.pptx", SaveFormat::Pptx);
} finally {
    if (!java_is_null($presentation)) {
        $presentation->dispose();
    }
}

De dia die het OleObjectFrame bevat, verandert vervolgens in dit:

Nieuwe OLE‑objectafbeelding

Oplossing 2: Een add‑on voor PowerPoint maken

U kunt ook een add‑on voor Microsoft PowerPoint maken die alle OLE‑objecten bijwerkt wanneer u presentaties in het programma opent.