2012-06-07 3 views
1

이 질문은 또한 sharepoint.stackexchange.com에 있지만보기 또는 응답을받지 못하여 여기에 게시하고 있습니다.자동으로 Visio Web Access에서 맞게 확대/축소 ASPX

Visio 웹 서비스를 통해 표시되는 Visio 문서의 확대/축소 수준을 설정하려고합니다.

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

나는 도구 모음의 오른쪽에있는 버튼을 눌러 달성하는 '페이지에 맞게'줌 레벨을 사용하고 싶습니다. 내 첫 번째 생각은 자바 스크립트를 통해 버튼을 클릭했지만 즉각적인 성공을 얻지 못했고 Objects in the Visio Services JavaScript API, Vwa.VwaControl.getActivePage MethodVwa.Page.setZoom Method에있는 MSDN 기사를 우연히 발견했습니다.

나는 성공적으로 VwaControl 객체

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

을 구성 할 수 있지만이 컨트롤에 getActivePage()를 호출 할 때 나는 null를 얻을.

페이지에서 다른 ID를 사용하여 다른 VwaControl을 생성했지만 그 중 아무 것도 유효하지 않습니다. "VwaControl이 (가) id {0}에 존재하지 않습니다."와 같은 오류가 발생합니다. 나는 vwaControl._control._zoomControl._fitButton._clickDelegate에서 트리를 가로 지르려고했으나 그 델리게이트를 시작하는 방법을 모른다.

누구나 VisioWebAccess.aspx 페이지에 '자동 확대/축소'기능을 구현 한 사람이 있습니까?

답변

0

답변보기 sharepoint.stackexchange.com에서 - 확대 및 위치가 문서 내에 저장되므로 거기에 설정하십시오. 자바 스크립트를 사용하여 확대/축소를 제어 할 수 없었습니다.

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); 
    } 
}