Diaelrendezések alkalmazása vagy módosítása Androidon

Áttekintés

A diaelrendezés meghatározza a helyettesítőelemek, például a címek, szöveg, képek, diagramok és táblázatok pozícióját és formázását. Egy elrendezés alkalmazása egységes struktúrát biztosít a diák számára, miközben minden dia a saját tartalmát tartalmazhatja.

A leggyakoribb elrendezések a következők:

  • Title Slide: Címdiát tartalmaz cím és alcím helyettesítőelemekkel.
  • Title and Content: Címhelyettesítőelemet és általános tartalomhelyettesítőelemet tartalmaz.
  • Blank: Nem tartalmaz tartalomhelyettesítőelemeket, és akkor hasznos, ha minden alakzatot kézzel helyezünk el.

Ismerje meg az elrendezés öröklődését

Egy prezentációnak három kapcsolódó szintje van:

  1. A master slide meghatározza a témát, a megosztott formázást, a hátteret és a közös objektumokat.
  2. A layout slide egy masterhez tartozik és egy meghatározott helyettesítőelemek elrendezését definiálja.
  3. A normal slide egy elrendezést használ, és tárolja a diapozithoz megadott tartalmat.

Egy normál dia örökli a témát és a formázást az elrendezéséből, az elrendezés pedig a masterből. A normál dián közvetlenül beállított érték felülírja az örökölt értéket azon a szinten. Amikor egy normál diát létrehoznak, a helyettesítőelemek alakzata a kiválasztott elrendezésből generálódik, míg a helyettesítőelemekbe bevitt tartalom a normál diához tartozik.

Adjunk hozzá szükséges helyettesítőelemeket egy elrendezéshez, mielőtt diák létrehozására használnánk. Később egy további helyettesítőelem hozzáadása az elrendezéshez nem hozza létre automatikusan a megfelelő helyettesítőelemet a már meglévő normál diákon.

Ennek a kapcsolatnak két fontos következménye van:

  • Az örökölt formázás vagy a meglévő helyettesítőelem geometria módosítása az elrendezésen frissítheti az összes tőle függő diát. Mielőtt olyan elrendezést szerkesztenénk, amely már használatban van, ellenőrizzük a függő diákat, és tekintsük át a keletkezett prezentációt.
  • Egy elrendezés, amelyet még egy dia használ, nem távolítható el. Először rendeljük át a függő diákat egy másik elrendezésre, vagy csak a nem használt elrendezéseket távolítsuk el.

További információkért a hierarchia legfelső szintjéről lásd a Slide Master oldalt.

Az örökölt logók vagy dekoratív master alakzatok egy dián vagy megosztott elrendezésen keresztül történő elrejtéséhez lásd a Control the Visibility of Master Graphics cikket. A példa két, ugyanazt a mastert használó diát hasonlít össze.

Diaelrendezés kiválasztása és alkalmazása

Használjon elrendezést, ha a prezentáció a szabványos PowerPoint elrendezésdefiníciókat követi. Az elrendezésneveket a felhasználó módosíthatja és lokalizálhatja, ezért a név alapú kiválasztás kevésbé megbízható, kivéve ha a forrás sablont kontrollálja.

A következő példa a Title and Content elrendezést keres az első masteren. Ha ez az elrendezés nem érhető el, szándékosan a Blank elrendezésre tér vissza. A második null ellenőrzés szükséges, mivel egy prezentáció csak egyéni elrendezéseket tartalmazhat. A kiválasztott elrendezést ezután a ISlide.setLayoutSlide metódussal alkalmazzák az első normál diára.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    IMasterLayoutSlideCollection layoutSlides = presentation.getMasters().get_Item(0).getLayoutSlides();
    ILayoutSlide targetLayout = layoutSlides.getByType(SlideLayoutType.TitleAndObject);

    if (targetLayout == null) {
        targetLayout = layoutSlides.getByType(SlideLayoutType.Blank);
    }

    if (targetLayout == null) {
        throw new IllegalStateException("The first master does not contain a suitable layout slide.");
    }

    presentation.getSlides().get_Item(0).setLayoutSlide(targetLayout);
    presentation.save("output-with-new-layout.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Egy dia elrendezésének módosítása nem távolítja el a diára közvetlenül hozzáadott szabályos alakzatokat. Azonban a helyettesítőelemek pozíciói, az örökölt formázás és a meglévő helyettesítőelemek és az új elrendezés közti megfelelés megváltozhat, ezért vizsgálja meg a kimenetet, amikor lényegesen eltérő elrendezések között vált.

Elrendezésdia hozzáadása

A kiválasztás és a létrehozás külön műveletek. Az előző példa egy meglévő elrendezést választ ki; nem hoz létre újat. Egy elrendezés létrehozásához hívja meg a IMasterLayoutSlideCollection.add metódust a cél master elrendezésgyűjteményén.

A következő példa mindig hozzáad egy új Title and Content elrendezést Report Title and Content néven, majd ennek alapján hozzáad egy normál diát. Az elrendezésneveknek egyedieknek kell lenniük a gyűjteményben.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    IMasterSlide masterSlide = presentation.getMasters().get_Item(0);
    ILayoutSlide reportLayout = masterSlide.getLayoutSlides().add(SlideLayoutType.TitleAndObject, "Report Title and Content");
    presentation.getSlides().addEmptySlide(reportLayout);

    presentation.save("output-with-report-layout.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Csak akkor adjon hozzá elrendezést, ha a sablon valóban egy további újrahasználható struktúrát igényel. Ha már létezik megfelelő elrendezés, válassza ki és használja újra a duplikálás helyett.

Helyettesítőelemek hozzáadása egy elrendezésdiához

Az ILayoutSlide.getPlaceholderManager metódus egy ILayoutPlaceholderManager objektumot biztosít, amellyel helyettesítőelem-alakzatok adhatók hozzá egy elrendezéshez.

PowerPoint helyettesítőelem ILayoutPlaceholderManager Method
Tartalom addContentPlaceholder(float x, float y, float width, float height)
Tartalom (Függőleges) addVerticalContentPlaceholder(float x, float y, float width, float height)
Szöveg addTextPlaceholder(float x, float y, float width, float height)
Szöveg (Függőleges) addVerticalTextPlaceholder(float x, float y, float width, float height)
Kép addPicturePlaceholder(float x, float y, float width, float height)
Diagram addChartPlaceholder(float x, float y, float width, float height)
Táblázat addTablePlaceholder(float x, float y, float width, float height)
SmartArt addSmartArtPlaceholder(float x, float y, float width, float height)
Média addMediaPlaceholder(float x, float y, float width, float height)
Online kép addOnlineImagePlaceholder(float x, float y, float width, float height)

A következő példa ellenőrzi, hogy a Blank elrendezés létezik-e, négy helyettesítőelemet ad hozzá, majd létrehoz egy normál diát, amely a módosított elrendezést használja. A sorrend szándékos: a helyettesítőelemeket a normál dia létrehozása előtt adják hozzá, így az Aspose.Slides a megfelelő helyettesítőelem-alakzatokat generálja azon a dián.

import com.aspose.slides.*;

Presentation presentation = new Presentation();
try {
    ILayoutSlide blankLayout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);

    if (blankLayout == null) {
        throw new IllegalStateException("The presentation does not contain a Blank layout slide.");
    }

    ILayoutPlaceholderManager placeholderManager = blankLayout.getPlaceholderManager();
    placeholderManager.addContentPlaceholder(20, 20, 310, 270);
    placeholderManager.addVerticalTextPlaceholder(350, 20, 350, 270);
    placeholderManager.addChartPlaceholder(20, 310, 310, 180);
    placeholderManager.addTablePlaceholder(350, 310, 350, 180);

    presentation.getSlides().addEmptySlide(blankLayout);
    presentation.save("output-with-placeholders.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Az eredmény:

A helyettesítőelemek az elrendezésdián

Nem használt elrendezésdiák eltávolítása

Használja a Compress.removeUnusedLayoutSlides metódust a olyan elrendezések eltávolításához, amelyeket egyetlen normál dia sem hivatkozik. A metódus érintetlenül hagyja a még használatban lévő elrendezéseket.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Compress.removeUnusedLayoutSlides(presentation);
    presentation.save("output-without-unused-layouts.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Egy adott elrendezés eltávolításához először használja annak a hasDependingSlides vagy a getDependingSlides metódusát. A ILayoutSlide.remove hívása előtt rendelje át a függő diákat. Egy használt elrendezés eltávolításának kísérlete PptxEditException kivételt eredményez.

Lábléc láthatóságának szabályozása egy elrendezésdián

Egy elrendezésnek saját lábléc, dia-szám és dátum-idő helyettesítőelemei vannak. Használja az ILayoutSlide.getHeaderFooterManager metódust ezeknek a helyettesítőelemeknek a szabályozásához egy elrendezésen belül. Ez akkor hasznos, ha például a tartalom elrendezéseknek láblécet kell mutatniuk, míg a cím elrendezéseknek nem.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.TitleAndObject);

    if (layoutSlide == null) {
        layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
    }

    if (layoutSlide == null) {
        throw new IllegalStateException("The presentation does not contain a suitable layout slide.");
    }

    ILayoutSlideHeaderFooterManager headerFooterManager = layoutSlide.getHeaderFooterManager();
    headerFooterManager.setFooterVisibility(true);
    headerFooterManager.setSlideNumberVisibility(true);
    headerFooterManager.setDateTimeVisibility(true);
    headerFooterManager.setFooterText("Footer text");
    headerFooterManager.setDateTimeText("Date and time text");

    presentation.save("output-with-layout-footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Lábléc láthatóságának szabályozása egy masteren és annak alárendelt elrendezésein

Az egységes láblécbeállítások egy master hierarchia mentén történő alkalmazásához használja az IMasterSlide.getHeaderFooterManager metódust. A IMasterSlideHeaderFooterManager terjesztési módszerei a masteren, annak függő elrendezésdiáin és normál diáin működnek; nem egyetlen normál diát céloznak meg.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    IMasterSlideHeaderFooterManager headerFooterManager = presentation.getMasters().get_Item(0).getHeaderFooterManager();
    headerFooterManager.setFooterAndChildFootersVisibility(true);
    headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
    headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);
    headerFooterManager.setFooterAndChildFootersText("Footer text");
    headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");

    presentation.save("output-with-master-footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

GYIK

Mi a különbség egy master diának és egy elrendezésdiának?

A master slide meghatározza a prezentáció témáját és a megosztott formázást. Egy elr-layout slide egy masterhez tartozik és egy újrahasználható helyettesítőelem-elrendezést definiál. A normál diák ezeket az elrendezéseket használják, és dia-specifikus tartalmat tárolnak.

Másolhatok elrendezésdiát egyik prezentációból a másikba?

Igen. Egy másolatot adjon a célgyűjteményhez az addClone metódussal. Prezentációk közötti másolás esetén ellenőrizze a forrás elrendezés által használt betűtípusokat, témákat, képeket és egyéb erőforrásokat.

Mi történik, ha módosítok egy már használt elrendezést?

A függő diák öröklik az elrendezés változásait, hacsak nem írják felül a helyi formázást vagy objektumokat. Így a helyettesítőelemek geometriája és az örökölt stílus számos dián egy időben megváltozhat. Az elrendezés szerkesztése előtt használja a getDependingSlides metódust a érintett diák azonosításához.

Mi történik, ha eltávolítok egy még használt elrendezést?

Az Aspose.Slides egy PptxEditException kivételt dob. Először rendelje át a függő diákat, vagy használja a removeUnusedLayoutSlides metódust, hogy csak a nem hivatkozott elrendezéseket távolítsa el.