Не удается получить контейнер для XShape в LibreOffice
Я борюсь с некоторым кодом, используя
LibreOffice 7.1.0
на
Windows 10
добавлять изображения из папки в отдельные слайды в
Impress
. Я искал здесь и документацию OpenOffice . Этот вызов постоянно терпит неудачу
(null)
:
xMultiServiceFactory.createInstance("com.sun.star.drawing.BitmapTable");
а я не могу понять почему? я пытался использовать
XMultiComponentFactory
тоже, но не повезло. Имеет ли это какое-то отношение к
Slide Layout
, но, несмотря на пустой тип, я могу перетащить изображение, и оно будет добавлено на слайд. К сожалению, полный код находится в ограниченной системе, поэтому у меня есть только это. Любые намеки на возможные причины были бы очень полезны.
1 ответ
Это была простая проблема: мне нужно было инициализировать
xMultiServiceFactory
с
xComponent
. Я ранее инициализировал его с помощью
xComponentContext.getServiceManager()
. Я снова понимаю, вот почему изучение объектной модели очень важно. С COM может быть сложно, если только не знать, что они делают.