自动缩放以适应Visio Web Access ASPX

时间:2012-06-07 06:11:16

标签: javascript asp.net web-services sharepoint-2010 visio

这个问题也在sharepoint.stackexchange.com,但未能获得观点或回复,所以我在这里发帖。

我正在尝试设置通过Visio Web服务显示的Visio文档的缩放级别。

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

我想使用“适合页面”缩放级别,这是通过按工具栏右侧的按钮实现的。我的第一个想法是通过javascript点击按钮,但没有立即获得成功,也偶然发现了Objects in the Visio Services JavaScript APIVwa.VwaControl.getActivePage MethodVwa.Page.setZoom Method上的MSDN文章。

我可以成功构建一个VwaControl对象

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

但是当我在此控件上调用null时,我得到getActivePage()

我尝试使用页面中的其他ID构建其他VwaControl,但它们都不是有效的 - 我收到错误,例如“id {0}不存在VwaControl”。我试过从vwaControl._control._zoomControl._fitButton._clickDelegate遍历树,但我不知道如何解雇该委托。

有人在VisioWebAccess.aspx页面中实现了“自动缩放以适应”功能吗?

2 个答案:

答案 0 :(得分:0)

请参阅sharepoint.stackexchange.com处的答案 - 缩放和定位保存在文档中,因此请将其设置在那里。我无法使用javascript控制缩放。

答案 1 :(得分: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);
    }
}