Slide master
Le master slide costituiscono il livello superiore della gerarchia di ereditarietà delle slide in PowerPoint. Una master slide definisce elementi di design comuni, come sfondi, loghi e formattazione del testo. Le layout slide ereditano dalle master slide, e le normal slide ereditano dalle layout slide.
Questo articolo dimostra come creare, modificare e gestire le master slide usando Aspose.Slides per Node.js tramite Java.
Aggiungere una Master Slide
Questo esempio mostra come creare una nuova master slide clonando quella predefinita. Successivamente aggiunge un banner con il nome dell’azienda a tutte le slide tramite l’ereditarietà del layout.
function addMasterSlide() {
let presentation = new aspose.slides.Presentation();
try {
// Clona la master slide predefinita.
let defaultMasterSlide = presentation.getMasters().get_Item(0);
let newMasterSlide = presentation.getMasters().addClone(defaultMasterSlide);
let textBoxFillType = java.newByte(aspose.slides.FillType.NoFill);
// Aggiungi un banner con il nome dell'azienda nella parte superiore della master slide.
let textBox = newMasterSlide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 0, 0, 720, 25);
textBox.getTextFrame().setText("Company Name");
textBox.getFillFormat().setFillType(textBoxFillType);
let paragraphFillType = java.newByte(aspose.slides.FillType.Solid);
let paragraphFillColor = java.getStaticFieldValue("java.awt.Color", "BLACK");
let paragraph = textBox.getTextFrame().getParagraphs().get_Item(0);
paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(paragraphFillType);
paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(paragraphFillColor);
// Assegna la nuova master slide a una layout slide.
let layoutSlide = presentation.getLayoutSlides().get_Item(0);
layoutSlide.setMasterSlide(newMasterSlide);
// Assegna la layout slide alla prima slide della presentazione.
presentation.getSlides().get_Item(0).setLayoutSlide(layoutSlide);
presentation.save("master_slide.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
}
💡 Nota 1: Le master slide forniscono un modo per applicare un branding coerente o elementi di design condivisi a tutte le slide. Qualsiasi modifica apportata alla master verrà automaticamente riflessa sulle slide layout e normali dipendenti.
💡 Nota 2: Qualsiasi forma o formattazione aggiunta a una master slide viene ereditata dalle layout slide e, a loro volta, da tutte le slide normali che utilizzano quei layout. L’immagine seguente illustra come una casella di testo aggiunta su una master slide venga automaticamente resa sulla slide finale.

Accedere a una Master Slide
È possibile accedere alle master slide usando la collezione master della presentazione. Ecco come recuperarle e lavorare con esse:
function accessMasterSlide() {
let presentation = new aspose.slides.Presentation("master_slide.pptx");
try {
let firstMasterSlide = presentation.getMasters().get_Item(0);
// Cambia il tipo di sfondo.
let backgroundType = java.newByte(aspose.slides.BackgroundType.OwnBackground);
firstMasterSlide.getBackground().setType(backgroundType);
} finally {
presentation.dispose();
}
}
Rimuovere una Master Slide
Le master slide possono essere rimosse sia per indice che per riferimento.
function removeMasterSlide() {
let presentation = new aspose.slides.Presentation("master_slide.pptx");
try {
// Rimuovi una master slide per indice.
presentation.getMasters().removeAt(0);
// Rimuovi una master slide per riferimento.
let firstMasterSlide = presentation.getMasters().get_Item(0);
presentation.getMasters().remove(firstMasterSlide);
presentation.save("master_slide_removed.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
}
Rimuovere le Master Slide non utilizzate
Alcune presentazioni contengono master slide non utilizzate. Rimuovere queste slide può contribuire a ridurre la dimensione del file.
function removeUnusedMasterSlides() {
let presentation = new aspose.slides.Presentation("master_slide.pptx");
try {
// Rimuovi tutte le master slide inutilizzate (anche quelle contrassegnate come Preserve).
presentation.getMasters().removeUnused(true);
presentation.save("unused_master_slides_removed.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
}