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

معرفی

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

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

INormalViewProperties, INormalViewRestoredProperties رابط‌ها و فرزندان آن، SplitterBarStateType enum اضافه شده‌اند.

درباره INormalViewProperties

نمایانگر ویژگی‌های نمای عادی است.

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

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

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

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

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

درباره بازگردانی INormalViewProperties

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

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

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

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

import com.aspose.slides.*;

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

تنظیم مقدار بزرگنمایی پیش‌فرض

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

  1. یک نمونه از کلاس Presentation ایجاد کنید.
  2. ویژگی‌های View Properties را برای Presentation تنظیم کنید.
  3. ارائه را به صورت فایل PPTX ذخیره کنید. در مثال زیر، مقدار بزرگنمایی برای نمای اسلاید و همچنین نمای یادداشت‌ها تنظیم شده است.
import com.aspose.slides.*;

Presentation presentation = new Presentation();
try {
    // تنظیم ویژگی‌های نمای ارائه
    presentation.getViewProperties().getSlideViewProperties().setScale(100); // مقدار بزرگنمایی به درصد برای نمای اسلاید
    presentation.getViewProperties().getNotesViewProperties().setScale(100); // مقدار بزرگنمایی به درصد برای نمای نوت‌ها 

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

تنظیم فاصله‌بندی شبکه

از Presentation.getViewProperties برای دسترسی به تنظیمات نمای کلی ارائه استفاده کنید. متدهای IViewProperties.getGridSpacing و IViewProperties.setGridSpacing فاصلهٔ شبکه ویرایشی پایه را می‌خوانند یا تغییر می‌دهند. این تنظیم برای کل ارائه اعمال می‌شود، نه برای یک اسلاید منفرد. فاصله شبکه بر حسب پوینت تعیین می‌شود که ۷۲ پوینت برابر یک اینچ است. مقدار مثبت استفاده کنید، همان‌طور که مستندات API می‌طلبند.

مثال زیر یک فایل demo.pptx موجود را باز می‌کند، فاصلهٔ شبکهٔ فعلی را چاپ می‌کند، فاصلهٔ یک‌چهارم اینچ تنظیم می‌کند و نتیجه را ذخیره می‌سازد.

import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

Presentation presentation = new Presentation("demo.pptx");
try {
    float gridSpacing = presentation.getViewProperties().getGridSpacing();
    System.out.println("Current grid spacing: " + gridSpacing + " points");

    presentation.getViewProperties().setGridSpacing(18f);
    presentation.save("grid-spacing.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

شبکه متفاوت از drawing guides است. فاصلهٔ شبکه یک دورهٔ منظم را کنترل می‌کند، در حالی که راهنمای‌های ترسیم خطوط تراز افقی یا عمودی هستند که به‌صورت جداگانه موقعیت‌یابی می‌شوند. افزودن، جابه‌جایی یا پاک کردن راهنمای‌های ترسیم فاصلهٔ شبکه را تغییر نمی‌دهد.

هر دو، شبکه و راهنمای‌های ترسیم، ابزارهای کمکی ویرایش هستند. آنها به‌عنوان محتوای اسلاید در PDF، تصاویر، SVG یا ارائه اسلاید نمایش داده نمی‌شوند. ذخیرهٔ فاصلهٔ شبکه تضمین نمی‌کند که ویرایشگر آن را نشان دهد: نمایش آن همچنین به تنظیمات نمایشگر یا ویرایشگر بستگی دارد.

نمایش یا مخفی‌سازی نظرات هنگام باز کردن یک ارائه

از Presentation.getViewProperties برای دسترسی به تنظیمات نمای کلی ارائه استفاده کنید. از IViewProperties.getShowComments و IViewProperties.setShowComments برای خواندن یا تغییر ترجیح ذخیره‌شده برای اینکه آیا نظرات هنگام باز شدن ارائه در PowerPoint یا ویرایشگر سازگار دیگری نشان داده شوند یا نه، استفاده کنید.

این تنظیم تنها ترجیح ذخیره‌شدهٔ نمای را کنترل می‌کند. این کار نظرات را اضافه، حذف، ویرایش یا حل نمی‌کند. مخفی‌سازی نظرات محتوای آنها، نویسندگان، موقعیت‌ها، پاسخ‌ها و وضعیت‌ها را حفظ می‌کند. برای عملیات‌هایی که نظرات را تغییر می‌دهند، به Presentation Comments مراجعه کنید.

مثال زیر نیاز به یک فایل comments.pptx موجود دارد که حاوی نظرات باشد. تنظیمات قابل مشاهدهٔ فعلی را چاپ می‌کند، درخواست می‌کند که نظرات مخفی شوند و یک PPTX جدید را بدون حذف هیچ نظری ذخیره می‌کند. همچنین از IViewProperties.setLastView همراه با ViewType.SlideView برای پیکربندی نمای ویرایش اولیه به‌همراه قابلیت مشاهدهٔ نظرات استفاده می‌کند.

import com.aspose.slides.NullableBool;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import com.aspose.slides.ViewType;

Presentation presentation = new Presentation("comments.pptx");
try {
    byte showComments = presentation.getViewProperties().getShowComments();
    System.out.println("Current comment visibility: " + showComments);

    presentation.getViewProperties().setShowComments(NullableBool.False);
    presentation.getViewProperties().setLastView(ViewType.SlideView);
    presentation.save("comments-hidden.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

این تنظیم تعیین نمی‌کند که آیا نظرات در خروجی‌های PDF، HTML، تصویر، یادداشت یا جزوه گنجانده می‌شوند یا نه. گزینه‌های مخصوص هر نوع خروجی را به‌طور جداگانه پیکربندی کنید.

سؤالات متداول

چرا پس از باز کردن دوبارهٔ ارائه، شبکه قابل مشاهده نیست؟

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

آیا پاک‌کردن راهنمای‌های ترسیم فاصلهٔ شبکه را تغییر می‌دهد؟

خیر. راهنمای‌های ترسیم و فاصلهٔ شبکه تنظیمات مستقلی هستند. پاک‌کردن راهنماها فاصلهٔ ذخیره‌شدهٔ شبکه را تغییر نمی‌دهد.

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

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

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

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

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

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