Проблема изменения объекта при добавлении OleObjectFrame

Заявление о проблеме

Когда разработчики добавляют OleObjectFrame на свои слайды с помощью Aspose.Slides для PHP через Java, на выходном слайде вместо OLE Object отображается сообщение Object Changed. Большинство клиентов Aspose.Slides для PHP через Java считает, что это ошибка или баг в Aspose.Slides для PHP через Java.

Критический анализ и объяснение

Прежде всего, важно знать, что сообщение Object Changed, отображаемое Aspose.Slides для PHP через Java после добавления OleObjectFrame на слайд, НЕ является ошибкой или багом в Aspose.Slides для PHP через Java. Это просто информация или сообщение, уведомляющее пользователей о том, что объект изменен и изображение должно быть обновлено.

Например, если вы добавите Microsoft Excel Chart как OleObjectFrame на свой слайд (для получения дополнительных деталей и кода о том, как добавить OleObjectFrame на ваш слайд, нажмите здесь), а затем откроете файл презентации с помощью MS PowerPoint, то слайд (на который был добавлен OLE Object) будет выглядеть следующим образом:

todo:image_alt_text

Рисунок: Слайд с сообщением Object Changed после добавления OLE Object

Это не ошибка, и ваш OLE Object все еще добавлен на слайд. Если вы хотите это проверить, то Дважды щелкните на сообщении Object Changed или Щелкните правой кнопкой мыши на нем и выберите опцию Worksheet Object -> Edit, как показано ниже на рисунке:

todo:image_alt_text

Рисунок: Выбор опции Edit для редактирования OLE Object

После того, как вы выберете опцию Edit из всплывающего меню, вы увидите, что Embedded OLE Object станет видимым в редактируемом виде, как показано ниже:

todo:image_alt_text

Рисунок: OLE Object в редактируемой форме

Вы все еще можете видеть сообщение Object Changed на слайде в Левой панели MS PowerPoint, показывающей предварительный просмотр слайдов. Как только вы щелкнете на OLE Object, вы увидите, что предварительный просмотр слайда также изменится, и сообщение Changed Object будет заменено изображением OLE Object, как показано ниже:

todo:image_alt_text

Рисунок: Обновление изображения OLE Object

Теперь вы должны Сохранить свой файл презентации с помощью MS PowerPoint, чтобы изображение OLE Object обновилось. После того, как вы сохраните свою презентацию и снова откроете ее с помощью MS PowerPoint, вы увидите, что сообщение Object Changed больше не будет присутствовать.

Другие решения

В приведенном выше критическом анализе мы продемонстрировали, что изображение OLE Object можно обновить, открыв файл презентации в MS PowerPoint и затем сохранив его. Но есть еще два решения для работы с сообщением Object Changed.

1-е решение: Замена сообщения Object Changed изображением

Если вам не нравится сообщение Object Changed, то вы можете заменить это сообщение на свое изображение. Вы можете добавить любое желаемое изображение в вашу презентацию и затем использовать идентификатор этого добавленного изображения, чтобы заменить сообщение Object Changed.

Чтобы достичь этого, вы можете добавить этот небольшой фрагмент кода в ваше приложение после добавления OleObjectFrame на ваш слайд.

Пример

После добавления приведенных выше строк в ваше приложение полученный слайд, содержащий OleObjectFrame, будет выглядеть следующим образом:

todo:image_alt_text

Рисунок: Сообщение Object Changed заменено изображением

2-е решение: Создание дополнения для MS PowerPoint

Вы также можете попробовать создать дополнение для MS PowerPoint, которое обновляет все OLE объекты, когда вы открываете презентацию в MS PowerPoint.