Alkalmazzon vagy módosítson diaelrendezéseket JavaScript-ben
Áttekintés
A diavetítés elrendezése meghatározza a helykitöltők, például címek, szöveg, képek, diagramok és táblázatok pozícióját és formázását. Egy elrendezés alkalmazásával a diák egységes szerkezetet kapnak, miközben minden dia saját tartalmát tartalmazhatja.
A leggyakoribb elrendezések a következők:
- Cím Dia: Cím és alcím helykitöltőket tartalmaz.
- Cím és Tartalom: Cím helykitöltőt és egy általános célú tartalomhelykitöltőt tartalmaz.
- Üres: Nem tartalmaz tartalomhelykitöltőket, és akkor hasznos, ha minden alakzatot kézzel helyeznek el.
Az Elrendezés Öröklődésének Megértése
Egy bemutató három összefüggő szinttel rendelkezik:
- A master dia meghatározza a témát, a megosztott formázást, a háttereket és a közös objektumokat.
- A layout dia egy masterhez tartozik, és meghatároz egy adott helykitöltő elrendezést.
- A normál dia egy elrendezést használ, és tárolja az adott dia számára beírt tartalmat.
A 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 örököl. A normál dián közvetlenül beállított érték felülírja az örökölt értéket ezen a szinten. Amikor egy normál diát létrehoznak, a helykitöltő alakzatok a kiválasztott elrendezésből generálódnak, míg a helykitöltőkbe beírt tartalom a normál diához tartozik.
Adjunk hozzá szükséges helykitöltőket egy elrendezéshez, mielőtt diák létrehozására használnánk. Ha később egy másik helykitöltőt adunk egy elrendezéshez, az nem adja hozzá automatikusan a megfelelő helykitöltő alakzatot a már létező normál diákhoz.
Ennek a kapcsolatnak két fontos következménye van:
- Az örökölt formázás vagy a meglévő helykitöltő geometria módosítása egy elrendezésen minden, attól függő diát frissíthet. Mielőtt egy már használt elrendezést szerkesztenénk, nézzük át a függő diákat, és ellenőrizzük a keletkezett bemutatót.
- Egy elrendezést, amelyet még diák használnak, nem lehet eltávolítani. 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 Dia Mester oldalt.
Elrendezés Kiválasztása és Alkalmazása
Használjon egy SlideLayoutType értéket, amikor a bemutató a standard PowerPoint elrendezésdefiníciókat követi. Az elrendezés nevei felhasználó által szerkeszthetők és lokalizálhatók, ezért a névre alapozott kiválasztás kevésbé megbízható, hacsak nem irányítja a forrás sablont.
A következő példa a Cím és Tartalom elrendezést keresi az első masterben. Ha ez az elrendezés nem érhető el, szándékosan az Üres elrendezésre tér vissza. A második null ellenőrzés szükséges, mert egy bemutató csak egyedi elrendezéseket tartalmazhat. A kiválasztott elrendezést ezután a Slide.setLayoutSlide metódussal alkalmazzák az első normál diára.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("input.pptx");
try {
let layoutSlides = presentation.getMasters().get_Item(0).getLayoutSlides();
let titleAndObjectLayoutType = java.newByte(aspose.slides.SlideLayoutType.TitleAndObject);
let blankLayoutType = java.newByte(aspose.slides.SlideLayoutType.Blank);
let targetLayout = layoutSlides.getByType(titleAndObjectLayoutType);
if (targetLayout === null) {
targetLayout = layoutSlides.getByType(blankLayoutType);
}
if (targetLayout === null) {
throw new Error("The first master does not contain a suitable layout slide.");
}
presentation.getSlides().get_Item(0).setLayoutSlide(targetLayout);
presentation.save("output-with-new-layout.pptx", aspose.slides.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 szokásos alakzatokat. Azonban a helykitöltő pozíciók, az örökölt formázás és a meglévő helykitöltők és az új elrendezés közti megfelelés változhat, ezért ellenőrizze a kimenetet, ha jelentősen eltérő elrendezések között vált.
Elrendezés Dia 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 MasterLayoutSlideCollection.add metódust a cél master elrendezésgyűjteményén.
A következő példa mindig hozzáad egy új Cím és Tartalom elrendezést Report Title and Content névvel, majd hozzáad egy normál diát, amely azt használja. Az elrendezésneveknek egyedieknek kell lenniük a gyűjteményen belül.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("input.pptx");
try {
let masterSlide = presentation.getMasters().get_Item(0);
let titleAndObjectLayoutType = java.newByte(aspose.slides.SlideLayoutType.TitleAndObject);
let reportLayout = masterSlide.getLayoutSlides().add(titleAndObjectLayoutType, "Report Title and Content");
presentation.getSlides().addEmptySlide(reportLayout);
presentation.save("output-with-report-layout.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Csak akkor adjon hozzá egy elrendezést, ha a sablon valóban igényel egy további újrahasználható struktúrát. Ha már létezik megfelelő elrendezés, válassza ki és használja újra a duplikálás helyett.
Helykitöltők Hozzáadása egy Elrendezés Diához
A LayoutSlide.getPlaceholderManager metódus egy LayoutPlaceholderManager objektumot biztosít a helykitöltő alakzatok elrendezéshez történő hozzáadásához.
A következő példa ellenőrzi, hogy a Üres elrendezés létezik, négy helykitöltőt 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 helykitöltőket a normál dia létrehozása előtt adják hozzá, így az Aspose.Slides a megfelelő helykitöltő alakzatokat generálja azon a dián.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation();
try {
let blankLayoutType = java.newByte(aspose.slides.SlideLayoutType.Blank);
let blankLayout = presentation.getLayoutSlides().getByType(blankLayoutType);
if (blankLayout === null) {
throw new Error("The presentation does not contain a Blank layout slide.");
}
let 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", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Az eredmény:

Warning
Az örökölt formázás vagy a meglévő elrendezés helykitöltőinek geometriai módosítása befolyásolhatja a függő diákat. Az újonnan hozzáadott elrendezéshelykitöltő nem töltődik be a már létező normál diákba. Tesztelje az elrendezés változásait a bemutató egy másolatán, és ellenőrizze minden függő diát.Használatonkívüli Elrendezés Diák Eltávolítása
Használja a Compress.removeUnusedLayoutSlides metódust a olyan elrendezések eltávolításához, amelyeket egy normál dia sem hivatkozik. A metódus érintetlenül hagyja azokat az elrendezéseket, amelyek még használatban vannak.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("input.pptx");
try {
aspose.slides.Compress.removeUnusedLayoutSlides(presentation);
presentation.save("output-without-unused-layouts.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Egy adott elrendezés eltávolításához először használja a hasDependingSlides vagy a getDependingSlides metódust. A LayoutSlide.remove meghí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és Dián
Egy elrendezésnek saját lábléca, diaszáma és dátum-idő helykitöltői vannak. Használja a LayoutSlide.getHeaderFooterManager metódust ezeknek a helykitöltőknek a szabályozására egy adott elrendezésnél. Ez akkor hasznos, ha például a tartalom elrendezéseknek láblécet kell mutatniuk, míg a címelrendezéseknek nem.
A következő példa biztonságosan kiválaszt egy elrendezést, és láthatóvá teszi annak lábléc elemeit:
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("input.pptx");
try {
let titleAndObjectLayoutType = java.newByte(aspose.slides.SlideLayoutType.TitleAndObject);
let blankLayoutType = java.newByte(aspose.slides.SlideLayoutType.Blank);
let layoutSlide = presentation.getLayoutSlides().getByType(titleAndObjectLayoutType);
if (layoutSlide === null) {
layoutSlide = presentation.getLayoutSlides().getByType(blankLayoutType);
}
if (layoutSlide === null) {
throw new Error("The presentation does not contain a suitable layout slide.");
}
let 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", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Lábléc Láthatóságának Szabályozása a Masteren és Gyermek Elrendezésein
Az egységes lábléc beállítások alkalmazásához egy master hierarchián belül használja a MasterSlide.getHeaderFooterManager metódust. A MasterSlideHeaderFooterManager terjesztési metódusai a masteren, annak függő elrendezés diáikon és normál diákon működnek; nem egyetlen normál diára céloznak.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("input.pptx");
try {
let 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", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
GYIK
Mi a különbség a Master dia és az Elrendezés dia között?
A master dia meghatározza a bemutató témáját és a megosztott formázást. Egy elrendezés dia a masterhez tartozik, és egy újrahasználható helykitöltő elrendezést definiál. A normál diák ezeket az elrendezéseket használják, és tárolják a diához specifikus tartalmat.
Másolhatok egy Elrendezés Diát egyik bemutatóból a másikba?
Igen. Egy másolatot adjon hozzá a célgyűjteményhez a addClone metódussal. Bemutatók közti másoláskor ellenőrizze a betűtípusokat, témákat, képeket és egyéb a forrás elrendezés által használt erőforrásokat.
Mi történik, ha módosítok egy már használatban lévő elrendezést?
A függő diák öröklik az elrendezés változásait, hacsak lokálisan felül nem írták az érintett formázást vagy objektumokat. Így a helykitöltő geometria és az örökölt stílus egyszerre sok dián változhat. Használja a getDependingSlides metódust a érintett diák azonosításához, mielőtt az elrendezést szerkesztené.
Mi történik, ha egy még használatban lévő elrendezést eltávolítok?
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.









