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:
- A master slide meghatározza a témát, a megosztott formázást, a hátteret és a közös objektumokat.
- A layout slide egy masterhez tartozik és egy meghatározott helyettesítőelemek elrendezését definiálja.
- 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.
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:

Warning
Az örökölt formázás vagy a meglévő elrendezési helyettesítőelemek geometriai módosítása befolyásolhatja a függő diát. Egy újonnan hozzáadott elrendezési helyettesítőelem nem kerül visszatöltésre a már létező normál diákba. Tesztelje az elrendezésváltoztatásokat a prezentáció egy másolatán, és ellenőrizze minden függő diát.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.









