Dia‑indelingen toepassen of wijzigen in JavaScript
Introductie
Een dia‑indeling bepaalt de rangschikking van placeholder‑vakken en de opmaak van de inhoud op een dia. Ze regelt welke placeholders beschikbaar zijn en waar ze verschijnen. Dia‑indelingen helpen u presentaties snel en consistent te ontwerpen—of u nu iets eenvoudigs of complexers maakt. Enkele van de meest voorkomende dia‑indelingen in PowerPoint zijn:
Titel‑dia‑indeling – Bevat twee tekst‑placeholders: één voor de titel en één voor de ondertitel.
Titel‑en‑inhoud‑indeling – Beschikt over een kleinere titel‑placeholder bovenaan en een grotere eronder voor de hoofdinhoud (zoals tekst, opsommingstekens, grafieken, afbeeldingen enzovoort).
Lege indeling – Bevat geen placeholders, zodat u de dia volledig zelf kunt ontwerpen vanaf nul.
Dia‑indelingen maken deel uit van een dia‑master, de bovenste dia die de indelingsstijlen voor de presentatie bepaalt. U kunt indelingsdia’s benaderen en aanpassen via de dia‑master—op type, naam of unieke ID. Alternatief kunt u een specifieke indelingsdia rechtstreeks in de presentatie bewerken.
Om te werken met dia‑indelingen in Aspose.Slides for Node.js, kunt u gebruiken:
- Methoden zoals getLayoutSlides en getMasters onder de klasse Presentation.
- Typen zoals LayoutSlide, MasterLayoutSlideCollection, LayoutPlaceholderManager en LayoutSlideHeaderFooterManager.
Info
Om meer te weten te komen over het werken met masterslides, bekijk het artikel Slide Master.Dia‑indelingen toevoegen aan presentaties
Om het uiterlijk en de structuur van uw dia’s aan te passen, moet u mogelijk nieuwe indelingsdia’s aan een presentatie toevoegen. Aspose.Slides voor Node.js stelt u in staat te controleren of een bepaalde indeling al bestaat, deze indien nodig toe te voegen, en te gebruiken om dia’s in te voegen op basis van die indeling.
- Maak een instantie van de klasse Presentation.
- Benader de MasterLayoutSlideCollection.
- Controleer of de gewenste indelingsdia al bestaat in de collectie. Zo niet, voeg dan de benodigde indelingsdia toe.
- Voeg een lege dia toe op basis van de nieuwe indelingsdia.
- Sla de presentatie op.
// Instantieer de Presentation‑klasse die een PowerPoint‑bestand vertegenwoordigt.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
// Doorloop de indelingsdia‑typen om een indelingsdia te selecteren.
let layoutSlides = presentation.getMasters().get_Item(0).getLayoutSlides();
let layoutSlide = null;
if (layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject)) != null) {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject));
} else {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.Title));
}
if (layoutSlide == null) {
// Een situatie waarin de presentatie niet alle indelingstypen bevat.
// Het presentiebestand bevat alleen lege en aangepaste indelingstypen.
// Echter kunnen indelingsdia's met aangepaste typen herkenbare namen hebben,
// zoals "Title", "Title and Content", enz., die gebruikt kunnen worden voor het selecteren van een indelingsdia.
// U kunt ook vertrouwen op een reeks placeholder‑vormtypen.
// Bijvoorbeeld moet een Titeldia alleen het Title‑placeholder‑type hebben, enzovoort.
for (let i = 0; i < layoutSlides.size(); i++) {
let titleAndObjectLayoutSlide = layoutSlides.get_Item(i);
if (titleAndObjectLayoutSlide.getName() === "Title and Object") {
layoutSlide = titleAndObjectLayoutSlide;
break;
}
}
if (layoutSlide == null) {
for (let i = 0; i < layoutSlides.size(); i++) {
let titleLayoutSlide = layoutSlides.get_Item(i);
if (titleLayoutSlide.getName() === "Title") {
layoutSlide = titleLayoutSlide;
break;
}
}
if (layoutSlide == null) {
layoutSlide = layoutSlides.getByType(java.newByte(aspose.slides.SlideLayoutType.Blank));
if (layoutSlide == null) {
layoutSlide = layoutSlides.add(java.newByte(aspose.slides.SlideLayoutType.TitleAndObject), "Title and Object");
}
}
}
}
// Voeg een lege dia toe met de toegevoegde indelingsdia.
presentation.getSlides().insertEmptySlide(0, layoutSlide);
// Sla de presentatie op naar schijf.
presentation.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ongebruikte indelingsdia’s verwijderen
Aspose.Slides biedt de methode removeUnusedLayoutSlides van de klasse Compress aan om ongewenste en ongebruikte indelingsdia’s te verwijderen.
let presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
aspose.slides.Compress.removeUnusedLayoutSlides(presentation);
presentation.save("Output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Placeholders toevoegen aan dia‑indelingen
Aspose.Slides biedt de methode LayoutSlide.getPlaceholderManager die u in staat stelt nieuwe placeholders toe te voegen aan een indelingsdia.
Deze manager bevat methoden voor de volgende placeholder‑typen:
| PowerPoint‑placeholder | LayoutPlaceholderManager Methode |
|---|---|
![]() |
addContentPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalContentPlaceholder(float x, float y, float width, float height) |
![]() |
addTextPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalTextPlaceholder(float x, float y, float width, float height) |
![]() |
addPicturePlaceholder(float x, float y, float width, float height) |
![]() |
addChartPlaceholder(float x, float y, float width, float height) |
![]() |
addTablePlaceholder(float x, float y, float width, float height) |
![]() |
addSmartArtPlaceholder(float x, float y, float width, float height) |
![]() |
addMediaPlaceholder(float x, float y, float width, float height) |
![]() |
addOnlineImagePlaceholder(float x, float y, float width, float height) |
De volgende JavaScript‑code toont hoe u nieuwe placeholder‑vormen kunt toevoegen aan de lege indelingsdia:
let presentation = new aspose.slides.Presentation();
try {
// Haal de lege indelingsdia op.
let layout = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank));
// Haal de placeholder‑manager van de indelingsdia op.
let placeholderManager = layout.getPlaceholderManager();
// Voeg verschillende placeholders toe aan de lege indelingsdia.
placeholderManager.addContentPlaceholder(20, 20, 310, 270);
placeholderManager.addVerticalTextPlaceholder(350, 20, 350, 270);
placeholderManager.addChartPlaceholder(20, 310, 310, 180);
placeholderManager.addTablePlaceholder(350, 310, 350, 180);
// Voeg een nieuwe dia toe met de lege indeling.
let newSlide = presentation.getSlides().addEmptySlide(layout);
presentation.save("Placeholders.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Het resultaat:

Voettekst‑zichtbaarheid instellen voor een indelingsdia
In PowerPoint‑presentaties kunnen voettekstelementen zoals datum, dia‑nummer en aangepaste tekst worden weergegeven of verborgen, afhankelijk van de dia‑indeling. Aspose.Slides voor Node.js stelt u in staat de zichtbaarheid van deze voettekst‑placeholders te beheren. Dit is handig wanneer u wilt dat bepaalde indelingen voettekstinformatie tonen, terwijl andere strak en minimaal blijven.
- Maak een instantie van de klasse Presentation.
- Haal een referentie naar een indelingsdia op basis van de index op.
- Stel de voettekst‑placeholder van de dia in op zichtbaar.
- Stel de placeholder voor het dia‑nummer in op zichtbaar.
- Stel de datum‑tijd‑placeholder in op zichtbaar.
- Sla de presentatie op.
let presentation = new aspose.slides.Presentation("Presentation.ppt");
try {
let headerFooterManager = presentation.getLayoutSlides().get_Item(0).getHeaderFooterManager();
if (!headerFooterManager.isFooterVisible()) {
headerFooterManager.setFooterVisibility(true);
}
if (!headerFooterManager.isSlideNumberVisible()) {
headerFooterManager.setSlideNumberVisibility(true);
}
if (!headerFooterManager.isDateTimeVisible()) {
headerFooterManager.setDateTimeVisibility(true);
}
headerFooterManager.setFooterText("Footer text");
headerFooterManager.setDateTimeText("Date and time text");
presentation.save("Presentation.ppt", aspose.slides.SaveFormat.Ppt);
} finally {
presentation.dispose();
}
Voettekst‑zichtbaarheid voor onderliggende dia’s instellen
In PowerPoint‑presentaties kunnen voettekstelementen zoals datum, dia‑nummer en aangepaste tekst op het niveau van de masterslide worden beheerd om consistentie over alle indelingsdia’s te waarborgen. Aspose.Slides voor Node.js stelt u in staat de zichtbaarheid en inhoud van deze voettekst‑placeholders op de masterslide in te stellen en deze instellingen door te geven aan alle onderliggende indelingsdia’s. Deze aanpak garandeert uniforme voettekst‑informatie in de gehele presentatie.
- Maak een instantie van de klasse Presentation.
- Haal een referentie naar de masterslide op basis van de index op.
- Stel de voettekst‑placeholders van de master en alle onderliggende dia’s in op zichtbaar.
- Stel de dia‑nummer‑placeholders van de master en alle onderliggende dia’s in op zichtbaar.
- Stel de datum‑tijd‑placeholders van de master en alle onderliggende dia’s in op zichtbaar.
- Sla de presentatie op.
let presentation = new aspose.slides.Presentation("Presentation.ppt");
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.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
Wat is het verschil tussen een masterslide en een indelingsdia?
Een masterslide bepaalt het globale thema en de standaardopmaak, terwijl indelingsdia’s specifieke rangschikkingen van placeholders voor verschillende soorten inhoud definiëren.
Kan ik een indelingsdia van de ene presentatie naar de andere kopiëren?
Ja, u kunt een indelingsdia klonen uit de indelingsdia‑collectie van een presentatie, toegankelijk via de methode getLayoutSlides, en deze in een andere presentatie invoegen met de addClone‑methode.
Wat gebeurt er als ik een indelingsdia verwijder die nog door een dia wordt gebruikt?
Als u probeert een indelingsdia te verwijderen die nog door ten minste één dia in de presentatie wordt gebruikt, zal Aspose.Slides een PptxEditException werpen. Gebruik in plaats daarvan removeUnusedLayoutSlides, die veilig alleen de niet‑gebruikte indelingsdia’s verwijdert.









