التكبير/التصغير تلقائيًا للملاءمة في Visio Web Access ASPX

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/37588

  •  09-12-2019
  •  | 
  •  

سؤال

أحاول تعيين مستوى التكبير/التصغير لمستند Visio الذي يتم عرضه من خلال خدمة Visio Web Service.

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

أريد استخدام مستوى التكبير/التصغير "ملائمة للصفحة" والذي يتم تحقيقه بالضغط على الزر الموجود على يمين شريط الأدوات.كانت فكرتي الأولى هي النقر على الزر عبر جافا سكريبت، لكنها لم تحقق نجاحًا فوريًا وعثرت أيضًا على مقالات MSDN على الكائنات الموجودة في Visio Services JavaScript API, ، ال طريقة Vwa.VwaControl.getActivePage و ال طريقة Vwa.Page.setZoom.

يمكنني إنشاء ملف بنجاح VwaControl هدف

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

لكنني حصلت null عندما أتصل getActivePage() على هذه السيطرة.

لقد حاولت بناء أخرى VwaControl استخدام معرفات أخرى من الصفحة ولكن لم يكن أي منها صالحًا - لقد تلقيت خطأ مثل "VwaControl غير موجود للمعرف {0}".لقد حاولت اجتياز الشجرة من vwaControl._control._zoomControl._fitButton._clickDelegate ولكني لا أعرف كيفية طرد هذا المفوض.

هل قام أي شخص بتطبيق ميزة "التكبير/التصغير التلقائي للملاءمة" في ملف VisioWebAccess.aspx صفحة؟

هل كانت مفيدة؟

المحلول

لقد تخليت عن محاولة تعديل ASPX لملاءمة مستند Visio تلقائيًا، ولكن بدلاً من ذلك وجدت حلاً آخر.

حدد "Fit to Window" في Visio قبل حفظ الملف.يتم حفظ تفضيل العرض هذا مع الملف، وعند فتحه باستخدام Visio Web Services، سيتم فتح الملف في الوضع "Fit to Window".

وبنفس الطريقة، فإن تكبير جزء معين من الرسم وحفظه سيؤدي إلى تحميله بنفس التكبير/التصغير.

نصائح أخرى

من StackOverflow أضف معالجًا إلى "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);
    }
}

لقد قمت بتعيين مستوى التكبير/التصغير إلى 21% وتمرير معرف جزء ويب Visio ("WebPartWPQ3") للحصول على vwaControl.إنه يعمل كما هو متوقع ويحدد مستوى التكبير/التصغير على 21 عند تحميل الصفحة.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
var vwaControl; 
var vwaPage;
$(document).ready(function(){
vwaControl= new Vwa.VwaControl("WebPartWPQ3"); 
vwaControl.addHandler("diagramcomplete", onDiagramComplete);
});
function onDiagramComplete(){ 
    try{ 
        vwaPage = vwaControl.getActivePage();         
        var zoomLevel = '21';  
        vwaPage.setZoom(Number(zoomLevel)); 
    } 
    catch(err){ 
        alert(err); 
    } 
} 
</script>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top