دریافت و به‌روزرسانی ویژگی‌های نمای ارائه‌نامه در PHP

Introduction

نمای عادی شامل سه ناحیه محتوا است: اسلاید، ناحیه محتوا در کنار اسلاید، و ناحیه محتوا در پایین اسلاید. ویژگی‌هایی که به موقعیت‌یابی نواحی مختلف محتوا مربوط می‌شوند. این اطلاعات به برنامه اجازه می‌دهد وضعیت نمای خود را در فایل ذخیره کند، به‌طوری‌که هنگام باز کردن مجدد، نمای برنامه در همان وضعیتی باشد که آخرین بار ارائه‌نامه ذخیره شده بود.

متد ViewProperties::getNormalViewProperties برای دسترسی به ویژگی‌های نمای عادی ارائه‌نامه اضافه شده است.

کلاس‌های NormalViewProperties، NormalViewRestoredProperties و مشتق‌‎های آن‌ها، و enum SplitterBarStateType اضافه شده‌اند.

About INormalViewProperties

نمایش‌دهنده ویژگی‌های نمای عادی.

متدهای getShowOutlineIcons و setShowOutlineIcons مشخص می‌کنند که آیا برنامه هنگام نمایش محتوای طرح کلی در هر یک از نواحی نمای عادی، آیکون‌ها را نشان دهد یا خیر.

متدهای getSnapVerticalSplitter و setSnapVerticalSplitter تعیین می‌کنند که آیا نوار تقسیم‌کننده عمودی هنگام کوچک شدن کافی ناحیه جانبی، به حالت کمینه منتقل شود یا نه.

ویژگی‌های getPreferSingleView و setPreferSingleView مشخص می‌کنند که آیا کاربر ترجیح می‌دهد یک ناحیه محتوا به‌صورت تمام‑پنجره نمایش داده شود به‌جای نمای عادی استاندارد با سه ناحیه محتوا. اگر فعال باشد، برنامه می‌تواند یکی از نواحی محتوا را در تمام پنجره نشان دهد.

متدهای getVerticalBarState و getHorizontalBarState وضعیت نوار تقسیم‌کننده عمودی یا افقی را که باید نمایش داده شود، تعیین می‌کنند. نوار تقسیم‌کننده افقی اسلاید را از ناحیه محتوا زیر اسلاید جدا می‌کند، در حالی که نوار تقسیم‌کننده عمودی اسلاید را از ناحیه محتوا در کنار اسلاید جدا می‌کند. مقادیر ممکن عبارتند از: SplitterBarStateType::Minimized، SplitterBarStateType::Maximized و SplitterBarStateType::Restored.

متدهای getRestoredLeft و getRestoredTop اندازه‌گیری ناحیه بالایی یا جانبی اسلاید در نمای عادی را زمانی که مقدار SplitterBarStateType::Restored برای getVerticalBarState و getHorizontalBarState اعمال شده باشد، مشخص می‌کنند.

About Restoring INormalViewProperties

اندازه‌گیری ناحیه اسلاید (عرض زمانی که فرزند getRestoredTop باشد، ارتفاع زمانی که فرزند getRestoredLeft باشد) در نمای عادی را زمانی که ناحیه دارای اندازه متغیر بازیابی شده (نه کمینه و نه حداکثر) باشد، تعیین می‌کند.

متد getDimensionSize اندازه ناحیه اسلاید را (عرض برای فرزند restoredTop، ارتفاع برای فرزند restoredLeft) مشخص می‌کند.

متد getAutoAdjust تعیین می‌کند که آیا اندازه ناحیه محتوا در کنار اسلاید باید برای اندازه جدید هنگام تغییر اندازه پنجرهٔ شامل نمای داخل برنامه جبران شود یا نه.

یک مثال زیر نشان می‌دهد چگونه می‌توان به ویژگی‌های ViewProperties::getNormalViewProperties برای یک ارائه‌نامه دسترسی پیدا کرد.

  $pres = new Presentation();
  try {
    $pres->getViewProperties()->getNormalViewProperties()->setHorizontalBarState(SplitterBarStateType::Restored);
    $pres->getViewProperties()->getNormalViewProperties()->setVerticalBarState(SplitterBarStateType::Maximized);

    # بازگرداندن ویژگی‌های نمای ارائه‌نامه
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setAutoAdjust(true);
    $pres->getViewProperties()->getNormalViewProperties()->getRestoredTop()->setDimensionSize(80);
    $pres->getViewProperties()->getNormalViewProperties()->setShowOutlineIcons(true);
    $pres->save("presentation_normal_view_state.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

Set the Default Zoom Value

برای تنظیم ویژگی‌های نمای، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation ایجاد کنید.
  2. ویژگی‌های View Properties مربوط به Presentation را تنظیم کنید.
  3. ارائه‌نامه را به‌عنوان فایل PPTX ذخیره کنید.
    در مثال زیر، مقدار زوم برای نمای اسلاید و نمای یادداشت‌ها تنظیم شده است.
  $presentation = new Presentation();
  try {
    # تنظیم ویژگی‌های نمای ارائه‌نامه
    $presentation->getViewProperties()->getSlideViewProperties()->setScale(100); // مقدار زوم به درصد برای نمای اسلاید
    $presentation->getViewProperties()->getNotesViewProperties()->setScale(100); // مقدار زوم به درصد برای نمای یادداشت‌ها

    $presentation->save("Zoom_out.pptx", SaveFormat::Pptx);
  } finally {
    $presentation->dispose();
  }

FAQ

آیا می‌توانم تنظیمات نمای متفاوتی برای بخش‌های مختلف یک ارائه‌نامه تعیین کنم؟

View settings در سطح ارائه‌نامه تعریف می‌شوند (Normal View/Slide View) و نه برای هر بخش؛ بنابراین یک مجموعهٔ پارامتر برای کل سند هنگام باز شدن اعمال می‌شود.

آیا می‌توانم حالت‌های نمای مختلفی را برای کاربران متفاوت از پیش تعریف کنم؟

خیر. این تنظیمات در فایل ذخیره می‌شوند و به‌اشتراک گذاشته می‌شوند. برنامه‌های مشاهده‌کننده ممکن است ترجیحات کاربر را در نظر بگیرند، اما خود فایل تنها یک مجموعهٔ ویژگی‌های نمای دارد.

آیا می‌توانم قالبی با ویژگی‌های نمای از پیش تعریف شده تهیه کنم تا ارائه‌نامه‌های جدید به همان روش باز شوند؟

بله. چون view properties در سطح ارائه‌نامه ذخیره می‌شوند، می‌توانید آن‌ها را در یک قالب قرار داده و سندهای جدید را بر پایهٔ آن قالب ایجاد کنید تا پیکربندی نمای اولیه یکسان باشد.