Applica o modifica layout diapositive in .NET
Introduzione
Un layout di diapositiva definisce la disposizione delle caselle segnaposto e la formattazione del contenuto su una diapositiva. Controlla quali segnaposto sono disponibili e dove appaiono. I layout di diapositiva ti aiutano a progettare presentazioni rapidamente e in modo coerente—sia che tu stia creando qualcosa di semplice o più complesso. Alcuni dei layout di diapositiva più comuni in PowerPoint includono:
Layout Titolo – Include due segnaposto di testo: uno per il titolo e uno per il sottotitolo.
Layout Titolo e Contenuto – Presenta un segnaposto per il titolo più piccolo nella parte superiore e uno più grande sotto per il contenuto principale (come testo, elenchi puntati, grafici, immagini e altro).
Layout Vuoto – Non contiene segnaposto, offrendoti il pieno controllo per progettare la diapositiva da zero.
I layout di diapositiva fanno parte di un master di diapositiva, che è la diapositiva di livello superiore che definisce gli stili di layout per la presentazione. Puoi accedere e modificare i layout di diapositiva tramite il master di diapositiva—sia per tipo, nome o ID univoco. In alternativa, puoi modificare un layout di diapositiva specifico direttamente all’interno della presentazione.
Per lavorare con i layout di diapositiva in Aspose.Slides per .NET, è possibile utilizzare:
- Proprietà come LayoutSlides e Masters nella classe Presentation
- Tipi come ILayoutSlide, IMasterLayoutSlideCollection, ILayoutPlaceholderManager e ILayoutSlideHeaderFooterManager
Info
Per saperne di più su come lavorare con i master di diapositiva, consulta l’articolo Slide Master.Aggiungere layout di diapositiva alle presentazioni
Per personalizzare l’aspetto e la struttura delle tue diapositive, potresti dover aggiungere nuovi layout di diapositiva a una presentazione. Aspose.Slides per .NET consente di verificare se un layout specifico esiste già, aggiungerne uno nuovo se necessario e usarlo per inserire diapositive basate su quel layout.
- Crea un’istanza della classe Presentation.
- Accedi alla IMasterLayoutSlideCollection.
- Verifica se il layout di diapositiva desiderato esiste già nella collezione. In caso contrario, aggiungi il layout di diapositiva necessario.
- Aggiungi una diapositiva vuota basata sul nuovo layout di diapositiva.
- Salva la presentazione.
Il seguente codice C# dimostra come aggiungere un layout di diapositiva a una presentazione PowerPoint:
// Istanzia la classe Presentation che rappresenta un file PowerPoint.
using (Presentation presentation = new Presentation("Sample.pptx"))
{
// Scorri i tipi di layout diapositive per selezionare un layout di diapositiva.
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
ILayoutSlide layoutSlide = layoutSlides.GetByType(SlideLayoutType.TitleAndObject) ?? layoutSlides.GetByType(SlideLayoutType.Title);
if (layoutSlide == null)
{
// Una situazione in cui la presentazione non contiene tutti i tipi di layout.
// Il file della presentazione contiene solo i tipi di layout Blank e Custom.
// Tuttavia, i layout diapositive con tipi personalizzati possono avere nomi riconoscibili,
// come "Title", "Title and Content", ecc., che possono essere usati per la selezione del layout di diapositiva.
// Puoi anche fare affidamento su un insieme di tipi di forma segnaposto.
// Ad esempio, una diapositiva Title dovrebbe contenere solo il tipo di segnaposto Title, e così via.
foreach (ILayoutSlide titleAndObjectLayoutSlide in layoutSlides)
{
if (titleAndObjectLayoutSlide.Name == "Title and Object")
{
layoutSlide = titleAndObjectLayoutSlide;
break;
}
}
if (layoutSlide == null)
{
foreach (ILayoutSlide titleLayoutSlide in layoutSlides)
{
if (titleLayoutSlide.Name == "Title")
{
layoutSlide = titleLayoutSlide;
break;
}
}
if (layoutSlide == null)
{
layoutSlide = layoutSlides.GetByType(SlideLayoutType.Blank);
if (layoutSlide == null)
{
layoutSlide = layoutSlides.Add(SlideLayoutType.TitleAndObject, "Title and Object");
}
}
}
}
// Aggiungi una diapositiva vuota usando il layout di diapositiva aggiunto.
presentation.Slides.InsertEmptySlide(0, layoutSlide);
// Salva la presentazione su disco.
presentation.Save("Output.pptx", SaveFormat.Pptx);
}
Rimuovere i layout di diapositiva non utilizzati
Aspose.Slides fornisce il metodo RemoveUnusedLayoutSlides della classe Compress per consentirti di eliminare i layout di diapositiva indesiderati e non utilizzati.
Il seguente codice C# mostra come rimuovere un layout di diapositiva da una presentazione PowerPoint:
using (Presentation presentation = new Presentation("Presentation.pptx"))
{
Aspose.Slides.LowCode.Compress.RemoveUnusedLayoutSlides(presentation);
presentation.Save("Output.pptx", SaveFormat.Pptx);
}
Aggiungere segnaposto ai layout di diapositiva
Aspose.Slides fornisce la proprietà ILayoutSlide.PlaceholderManager, che consente di aggiungere nuovi segnaposto a un layout di diapositiva.
Questo gestore contiene metodi per i seguenti tipi di segnaposto:
| Segnaposto PowerPoint | Metodo ILayoutPlaceholderManager |
|---|---|
![]() |
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) |
Il seguente codice C# dimostra come aggiungere nuove forme segnaposto al layout Vuoto:
using (var presentation = new Presentation())
{
// Ottieni il layout Blank.
ILayoutSlide layout = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
// Ottieni il gestore dei segnaposto del layout slide.
ILayoutPlaceholderManager placeholderManager = layout.PlaceholderManager;
// Aggiungi diversi segnaposto al layout Blank.
placeholderManager.AddContentPlaceholder(20, 20, 310, 270);
placeholderManager.AddVerticalTextPlaceholder(350, 20, 350, 270);
placeholderManager.AddChartPlaceholder(20, 310, 310, 180);
placeholderManager.AddTablePlaceholder(350, 310, 350, 180);
// Aggiungi una nuova diapositiva con il layout Blank.
ISlide newSlide = presentation.Slides.AddEmptySlide(layout);
presentation.Save("Placeholders.pptx", SaveFormat.Pptx);
}
Il risultato:

Impostare la visibilità del piè di pagina per un layout di diapositiva
Nelle presentazioni PowerPoint, gli elementi del piè di pagina come data, numero della diapositiva e testo personalizzato possono essere mostrati o nascosti a seconda del layout di diapositiva. Aspose.Slides per .NET ti consente di controllare la visibilità di questi segnaposto del piè di pagina. Questo è utile quando desideri che alcuni layout mostrino le informazioni del piè di pagina mentre altri rimangano puliti e minimi.
- Crea un’istanza della classe Presentation.
- Ottieni un riferimento al layout di diapositiva tramite il suo indice.
- Imposta il segnaposto del piè di pagina della diapositiva su visibile.
- Imposta il segnaposto del numero della diapositiva su visibile.
- Imposta il segnaposto della data/ora su visibile.
- Salva la presentazione.
Il seguente codice C# mostra come impostare la visibilità del piè di pagina di una diapositiva ed eseguire le attività correlate:
using (Presentation presentation = new Presentation("Presentation.ppt"))
{
ILayoutSlideHeaderFooterManager headerFooterManager = presentation.LayoutSlides[0].HeaderFooterManager;
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", SaveFormat.Ppt);
}
Impostare la visibilità del piè di pagina per i layout figlio di una diapositiva
Nelle presentazioni PowerPoint, gli elementi del piè di pagina come data, numero della diapositiva e testo personalizzato possono essere controllati a livello del master di diapositiva per garantire la coerenza su tutti i layout di diapositiva. Aspose.Slides per .NET consente di impostare la visibilità e il contenuto di questi segnaposto del piè di pagina sul master di diapositiva e di propagare queste impostazioni a tutti i layout figlio. Questo approccio garantisce informazioni uniformi nel piè di pagina in tutta la presentazione.
- Crea un’istanza della classe Presentation.
- Ottieni un riferimento al master di diapositiva tramite il suo indice.
- Imposta tutti i segnaposto del piè di pagina del master e dei layout figlio su visibili.
- Imposta tutti i segnaposto del numero della diapositiva del master e dei layout figlio su visibili.
- Imposta tutti i segnaposto della data/ora del master e dei layout figlio su visibili.
- Salva la presentazione.
Il seguente codice C# dimostra questa operazione:
using (Presentation presentation = new Presentation("Presentation.ppt"))
{
IMasterSlideHeaderFooterManager headerFooterManager = presentation.Masters[0].HeaderFooterManager;
headerFooterManager.SetFooterAndChildFootersVisibility(true);
headerFooterManager.SetSlideNumberAndChildSlideNumbersVisibility(true);
headerFooterManager.SetDateTimeAndChildDateTimesVisibility(true);
headerFooterManager.SetFooterAndChildFootersText("Footer text");
headerFooterManager.SetDateTimeAndChildDateTimesText("Date and time text");
presentation.Save("Output.pptx", SaveFormat.Pptx);
}
FAQ
Qual è la differenza tra un master slide e un layout slide?
Un master slide definisce il tema generale e la formattazione predefinita, mentre i layout slide definiscono disposizioni specifiche di segnaposto per diversi tipi di contenuto.
Posso copiare un layout slide da una presentazione all’altra?
Sì, puoi clonare un layout slide dalla collezione LayoutSlides di una presentazione e inserirlo in un’altra usando il metodo AddClone.
Cosa succede se elimino un layout slide che è ancora utilizzato da una diapositiva?
Se provi a eliminare un layout slide che è ancora referenziato da almeno una diapositiva nella presentazione, Aspose.Slides genererà un’eccezione PptxEditException. Per evitare ciò, utilizza RemoveUnusedLayoutSlides che rimuove in sicurezza solo i layout slide non in uso.









