اسلاید چیدمان

این مقاله نشان می‌دهد که چگونه با Layout Slides در Aspose.Slides for C++ کار کنید. یک layout slide طراحی و قالب‌بندی را که توسط اسلایدهای معمولی به ارث می‌برند، تعریف می‌کند. می‌توانید اسلایدهای چیدمان را اضافه، دسترسی پیدا کنید، کلون کنید و حذف نمایید، و همچنین اسلایدهای استفاده‌نشده را پاک‌سازی کنید تا اندازه ارائه کاهش یابد.

افزودن یک Layout Slide

می‌توانید یک layout slide سفارشی ایجاد کنید تا قالب‌بندی قابل استفاده مجدد را تعریف کنید. به عنوان مثال، ممکن است یک جعبه متن اضافه کنید که در تمام اسلایدهای استفاده‌کننده از این چیدمان ظاهر شود.

static void AddLayoutSlide()
{
    auto presentation = MakeObject<Presentation>();
    auto masterSlide = presentation->get_Master(0);

    // یک اسلاید چیدمان با نوع چیدمان خالی و نام سفارشی ایجاد کنید.
    auto layoutSlide = presentation->get_LayoutSlides()->Add(masterSlide, SlideLayoutType::Blank, u"Main layout");

    // یک جعبه متن به اسلاید چیدمان اضافه کنید.
    auto layoutTextBox = layoutSlide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 75, 75, 150, 150);
    layoutTextBox->get_TextFrame()->set_Text(u"Layout Slide Text");

    // دو اسلاید با استفاده از این چیدمان اضافه کنید؛ هر دو متن را از چیدمان ارث می‌برند.
    presentation->get_Slides()->AddEmptySlide(layoutSlide);
    presentation->get_Slides()->AddEmptySlide(layoutSlide);

    presentation->Dispose();
}

💡 یادداشت 1: Layout slides به‌عنوان قالب برای اسلایدهای تک‌تک عمل می‌کنند. می‌توانید عناصر مشترک را یک‌بار تعریف کنید و در اسلایدهای متعدد دوباره استفاده کنید.

💡 یادداشت 2: وقتی اشکال یا متن را به یک layout slide اضافه می‌کنید، تمام اسلایدهایی که بر پایه آن چیدمان هستند، این محتوای مشترک را به‌صورت خودکار نمایش خواهند داد. تصویر زیر دو اسلاید را نشان می‌دهد که هر کدام یک جعبه متن را از همان layout slide به ارث می‌برند.

اسلایدهای وراثت‌دار محتوا از Layout

دسترسی به یک Layout Slide

می‌توانید به Layout slides بر اساس اندیس یا نوع چیدمان (مانند Blank، Title، SectionHeader و غیره) دسترسی پیدا کنید.

static void AccessLayoutSlide()
{
    auto presentation = MakeObject<Presentation>();

    // با استفاده از اندیس یک اسلاید چیدمان را دسترسی پیدا کنید.
    auto firstLayoutSlide = presentation->get_LayoutSlide(0);

    // با استفاده از نوع یک اسلاید چیدمان را دسترسی پیدا کنید.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);

    presentation->Dispose();
}

حذف یک Layout Slide

اگر نیازی به یک layout slide خاص نیست، می‌توانید آن را حذف کنید.

static void RemoveLayoutSlide()
{
    auto presentation = MakeObject<Presentation>();

    // یک اسلاید چیدمان را بر اساس نوع دریافت کنید و حذف کنید.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Custom);
    presentation->get_LayoutSlides()->Remove(blankLayoutSlide);

    presentation->Dispose();
}

حذف Layout Slides استفاده‌نشده

برای کاهش اندازه ارائه، ممکن است بخواهید layout slideهایی را که توسط هیچ اسلاید معمولی استفاده نمی‌شوند، حذف کنید.

static void RemoveUnusedLayoutSlides()
{
    auto presentation = MakeObject<Presentation>();

    // به صورت خودکار تمام اسلایدهای چیدمان را که توسط هیچ اسلایدی ارجاع داده نشده‌اند، حذف می‌کند.
    presentation->get_LayoutSlides()->RemoveUnused();

    presentation->Dispose();
}

کلون کردن یک Layout Slide

می‌توانید یک layout slide را با استفاده از متد AddClone تکثیر کنید.

static void CloneLayoutSlides()
{
    auto presentation = MakeObject<Presentation>();

    // یک اسلاید چیدمان موجود را بر اساس نوع دریافت کنید.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);

    // اسلاید چیدمان را به انتهای مجموعه اسلایدهای چیدمان کلون کنید.
    auto clonedLayoutSlide = presentation->get_LayoutSlides()->AddClone(blankLayoutSlide);

    presentation->Dispose();
}

خلاصه: Layout slides ابزارهای قدرتمندی برای مدیریت قالب‌بندی یکسان در سراسر اسلایدها هستند. Aspose.Slides کنترل کامل بر ایجاد، مدیریت و بهینه‌سازی layout slideها را فراهم می‌کند.