2012-06-07 12 views
1

這個問題也是在sharepoint.stackexchange.com但始終未能獲得意見或答覆,所以我在這裏發帖。自動縮放到適合在Visio Web Access的ASPX

我正在嘗試設置它是通過將Visio Web服務所示的Visio文檔的縮放級別。

http://mysite/_layouts/VisioWebAccess/VisioWebAccess.aspx?id=/Shared%20Documents/MyDiagram.vdw

我想用,可以通過按工具欄右側的按鈕,實現了「適合頁面」縮放級別。我首先想到的是通過JavaScript按一下按鈕,但沒有得到立即的成功,還隔着MSDN文章無意中發現了Objects in the Visio Services JavaScript API,在Vwa.VwaControl.getActivePage MethodVwa.Page.setZoom Method

我可以成功地構建一個VwaControl對象

vwaControl = new Vwa.VwaControl("ctl00_PlaceHolderMain_VisioWebAccess"); 

,但我得到null當我打電話getActivePage()這個控制。

我試過使用頁面中的其他ID來構造其他VwaControl,但它們都不是有效的 - 我得到一個錯誤,如「VwaControl不存在ID {0}」。我試過從vwaControl._control._zoomControl._fitButton._clickDelegate遍歷樹,但我不知道如何觸發該委託。

有沒有人實施的「自動縮放以適應」功能在VisioWebAccess.aspx頁?

回答

0

見在sharepoint.stackexchange.com答案 - 變焦和定位被保存在文檔中,因此在此設置。我無法使用JavaScript控制縮放。

0

如果您按照getZoom documentation的示例(即向「diagramComplete」添加處理程序),則可以獲得對活動頁面的有效引用... 即,

function zoomVWAControl() 
{ 

    vwaControl= new Vwa.VwaControl("WebPartWPQ2"); 
    vwaControl.addHandler("diagramcomplete", onDiagramComplete); 
} 

function onDiagramComplete() 
{ 

try{ 
     vwaPage = vwaControl.getActivePage(); 
     var zoomLevel = vwaPage.getZoom(); 
     vwaPage.setZoom(Number(200)); 
    } 
    catch(err){ 
     alert(err); 
    } 
}