Я создаю Java-приложение, используя OOo SDK, где я манипулирую слайдами в презентации OpenOffice Impress. Я знаю, как получить объект, содержащий один слайд, теперь я ищу способ скопировать слайд из презентации в другую.
Вот что (сокращенно) я делаю, чтобы открыть файлы и выбрать слайд:
String filename = "file://....odp";
int offset = 2;
XComponent xSourceComponent = xComponentLoader.loadComponentFromURL(filename, "_blank", 0, loadProps);
XComponent xTargetComponent = xComponentLoader.loadComponentFromURL("private:factory/simpress", "_blank", 0, loadProps);
XDrawPages xDrawPages = ((XDrawPagesSupplier)UnoRuntime.queryInterface(
XDrawPagesSupplier.class, xSourceComponent)).getDrawPages();
XPresentationPage xPage = (XPresentationPage)UnoRuntime.queryInterface(XPresentationPage.class,
xDrawPages.getByIndex(offset));
На основании того, что я пытался получить переносимый объект, подобный этому:
XTransferable t = (XTransferable)UnoRuntime.queryInterface(
XTransferable.class, xPage);
Но это, похоже, не поддерживается. У кого-нибудь есть идеи, как это сделать?