簡體   English   中英

從openoffice API控制Impress演示窗口

[英]Control Impress presentation window from openoffice API

我目前正在嘗試使用openoffice API來顯示來自Java的powerpoint演示文稿 - 我有一個公平的方式,因為我已經設法打開一個演示文稿並顯示它。 但是,我希望能夠做的一些事情我無法理解API:

  • 我不希望出現主Impress窗口,只顯示演示窗口。 現在,我可以啟動它最小化沒有屬性的問題,但然后實際的演示窗口也被最小化,這是我不想要的。 我也可以抓住窗口並在其上調用setVisible(false) ,但在加載時它仍然可見一秒左右。

  • 我希望能夠控制演示文稿出現的顯示器(我在多顯示器設置中使用它。)我想我可以抓住演示文稿的窗口並按照我需要的方式移動它到,但我看不出 - 對於主窗口,我可以做類似的事情:

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

    ...但我還沒有找到一種獲得演示窗口的方法。 我希望能夠直接設置窗口的邊界(x,y,寬度,高度),而不是僅僅通過在單個監視器上定位來約束。

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

關於上述的任何想法? 我是一名經驗豐富的Java程序員,但對UNO來說是新手。

似乎第二點可以解決,ish,具有display屬性:

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

但請注意一些事項 - 首先顯示索引是基數1,而不是0.其次,嘗試在數組中設置屬性並在創建時將它們傳遞給xPresentation似乎沒有任何效果 - 它只對我有用該物業如上所述。 第三,它不允許對窗口進行細粒度控制,只需控制顯示器出現的顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM