2012-03-15 85 views
2

我目前正在嘗試使用openoffice API來顯示來自Java的PowerPoint演示文稿 - 我已經有一個公平的方式,因爲我已經設法打開演示文稿並顯示它。然而,有一對夫婦的事情,我希望能夠做到,我不能與API搞清楚,因爲它代表:Openoffice的控制Impress演示窗口API

  • 我不想讓主印象窗口出現,只是演示窗口。現在,我可以開始它最小化沒有問題的屬性,但然後實際演示文稿窗口也最小化,我不想。我也可以抓住窗戶並呼叫setVisible(false),但在加載時它仍然可以看到一秒左右。

  • 我想能夠控制演示文稿出現的監視器(我在多監視器設置中使用它)。我想我可以抓住演示文稿的窗口並移動它這樣,因爲我需要,但我看不出如何 - 主窗口,我可以這樣做:

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

    ...但我還沒有找到一種方式來獲得演示文稿窗口。我希望能夠直接設置窗口的邊界(x,y,寬度,高度),而不僅僅侷限於定位在單個顯示器上。

我可以忍受第一點,我需要解決的關鍵問題是第二點。

以上任何想法?我是一名經驗豐富的Java程序員,但是UNO是新手。

回答

0

似乎第二點是可以解決的,雜交,與顯示屬性:

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

注然而幾的事情 - 首先將顯示索引爲基座1而不是0其次,試圖設置數組中的屬性並將它們傳遞給創建時的xPresentation似乎沒有任何效果 - 它只對我稍後設置屬性起作用。第三,它不允許按照我的意願對窗口進行精細控制,只是控制顯示內容的顯示。