Окно презентации Control Impress из openoffice API - PullRequest
3 голосов
/ 16 марта 2012

В настоящее время я пытаюсь использовать API openoffice для отображения презентации PowerPoint из Java - у меня есть честный способ, что мне удалось открыть презентацию и отобразить ее.Однако есть пара вещей, которые я бы хотел сделать, но я не могу разобраться с API в его нынешнем виде:

  • Мне не нужен главный Impressокно, чтобы появиться, просто окно презентации.Теперь я могу начать его сворачивать без проблем со свойством, но тогда сворачивается и фактическое окно презентации, чего я не хочу.Я также могу захватить окно и вызвать setVisible(false) на нем, но оно все еще видимо в течение секунды или около того во время загрузки.

  • Я хочу иметь возможность контролировать монитор, которыйпоявляется презентация (я использую ее в конфигурации с несколькими мониторами). Я подумал, что смогу взять окно презентации и переместить его таким образом, как мне нужно, но я не вижу, как - дляВ главном окне я могу сделать что-то вроде:

    XModel xModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc); xModel.getCurrentController().getFrame().getContainerWindow().blah();

    ... но я еще не нашел способ получить окно презентации.Я хотел бы иметь возможность устанавливать границы окна напрямую (x, y, ширина, высота), а не просто ограничивать их позиционированием на одном мониторе.

Я могуживем с первым пунктом, критическим, который мне нужно решить для моего варианта использования, является второй.

Есть идеи по поводу вышеизложенного?Я опытный программист на Java, но плохо знаком с UNO.

1 Ответ

0 голосов
/ 21 марта 2012

Кажется, что вторая точка может быть решена, ish, с помощью свойства display:

public void start() { 
    try { 
        xPresentation.setPropertyValue("Display", 1); 
    } 
    catch (Exception ex) { 
        ex.printStackTrace(); 
    } 
    xPresentation.start(); 
}

Обратите внимание, однако, на несколько вещей - во-первых, индекс отображения - это база 1, а не 0. Во-вторых, попытка установить свойства в массиве и передать их в xPresentation при создании, похоже, не имела никакого эффекта - это работало только для меня установка свойства позже, как указано выше. В-третьих, он не позволяет осуществлять мелкозернистый контроль над окном, как я хотел, а только управление отображением презентации.

...