Gestisci intestazioni e piè di pagina della presentazione su Android

Panoramica

PowerPoint utilizza diversi segnaposti di intestazione e piè di pagina a seconda del tipo di pagina. Aspose.Slides for Android via Java consente di controllare il testo e la visibilità di questi segnaposti tramite le interfacce del gestore intestazione/piè di pagina.

I segnaposti disponibili dipendono dall’ambito:

Ambito Intestazione Piè di pagina Data/ora Numero di diapositiva/pagina
Diapositiva regolare No
Master note
Diapositiva note
Master handout

Una diapositiva di presentazione normale non ha un segnaposto di intestazione. Le intestazioni sono disponibili nelle pagine note e nei fogli illustrativi. Per le diapositive regolari, utilizzare i segnaposti piè di pagina, data/ora e numero di diapositiva.

L’ambito di una modifica dipende dal gestore che si utilizza. L’interfaccia ISlideHeaderFooterManager controlla una singola diapositiva regolare. L’interfaccia INotesSlideHeaderFooterManager controlla una singola diapositiva note. I gestori master e layout possono anche propagare le impostazioni alle diapositive dipendenti, mentre l’interfaccia IMasterHandoutSlideHeaderFooterManager controlla il master del foglio illustrativo.

Imposta Piè di pagina, Data/Ora e Numeri di diapositiva su diapositive regolari

Per le diapositive regolari, il flusso di lavoro di base consiste nell’accedere al gestore intestazione/piè di pagina di ciascuna diapositiva, impostare il testo del piè di pagina e della data/ora, abilitare i segnaposti richiesti e salvare la presentazione. I numeri di diapositiva sono generati dalla presentazione, quindi è necessario controllarne solo la visibilità.

Usa setFooterText e setDateTimeText per impostare il testo, e usa setFooterVisibility, setDateTimeVisibility, e setSlideNumberVisibility per mostrare i corrispondenti segnaposti.

L’esempio end‑to‑end seguente applica lo stesso piè di pagina, testo data/ora e visibilità del numero di diapositiva a tutte le diapositive regolari:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    for (ISlide slide : presentation.getSlides()) {
        ISlideHeaderFooterManager headerFooterManager = slide.getHeaderFooterManager();

        headerFooterManager.setFooterText("Company Confidential");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_slide_footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Se è necessario aggiornare una sola diapositiva, accedi direttamente a quella diapositiva tramite il metodo getSlides invece di iterare sull’intera collezione.

Imposta intestazioni e piè di pagina sul master note

Il master note definisce la formattazione comune e il comportamento dei segnaposti per le pagine note. Usa l’interfaccia IMasterNotesSlideHeaderFooterManager quando desideri modificare solo il master note stesso.

L’esempio seguente imposta intestazione, piè di pagina e testo data/ora sul master note e rende tutti i segnaposti supportati visibili su quel master:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    IMasterNotesSlide masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();

    if (masterNotesSlide != null) {
        IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderText("Notes header");
        headerFooterManager.setHeaderVisibility(true);

        headerFooterManager.setFooterText("Notes footer");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_notes_master_footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Il metodo getMasterNotesSlide restituisce null quando la presentazione non contiene un master note.

Applica impostazioni del master note alle diapositive note figlie

Un master note può applicare le impostazioni di intestazione e piè di pagina a sé stesso e a tutte le diapositive note dipendenti. Usa i metodi di propagazione dedicati su IMasterNotesSlideHeaderFooterManager quando le stesse impostazioni devono essere applicate all’intera gerarchia note.

Ad esempio, setHeaderAndChildHeadersText e setHeaderAndChildHeadersVisibility aggiornano l’intestazione del master note e tutte le intestazioni figlie. Metodi equivalenti sono disponibili per i piè di pagina, data/ora e numeri di diapositiva.

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    IMasterNotesSlide masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();

    if (masterNotesSlide != null) {
        IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderAndChildHeadersText("Notes header");
        headerFooterManager.setHeaderAndChildHeadersVisibility(true);

        headerFooterManager.setFooterAndChildFootersText("Notes footer");
        headerFooterManager.setFooterAndChildFootersVisibility(true);

        headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");
        headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);

        headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
    }

    presentation.save("presentation_with_child_notes_footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

I metodi di propagazione usati sopra sono setFooterAndChildFootersText, setFooterAndChildFootersVisibility, setDateTimeAndChildDateTimesText, setDateTimeAndChildDateTimesVisibility, e setSlideNumberAndChildSlideNumbersVisibility.

Imposta intestazioni e piè di pagina su una diapositiva note individuale

Una diapositiva note appartiene a una specifica diapositiva regolare. Usa la sua interfaccia INotesSlideHeaderFooterManager quando desideri personalizzare solo quella pagina note.

Il metodo addNotesSlide restituisce la diapositiva note per la diapositiva corrente e ne crea una se non esiste già. L’esempio seguente configura la pagina note associata alla prima diapositiva della presentazione:

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    INotesSlide notesSlide = slide.getNotesSlideManager().addNotesSlide();
    INotesSlideHeaderFooterManager headerFooterManager = notesSlide.getHeaderFooterManager();

    headerFooterManager.setHeaderText("Header for the first notes page");
    headerFooterManager.setHeaderVisibility(true);

    headerFooterManager.setFooterText("Footer for the first notes page");
    headerFooterManager.setFooterVisibility(true);

    headerFooterManager.setDateTimeText("Date and time text");
    headerFooterManager.setDateTimeVisibility(true);

    headerFooterManager.setSlideNumberVisibility(true);

    presentation.save("presentation_with_custom_notes_footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Se prima propaghi le impostazioni dal master note e poi modifichi una diapositiva note singola, le impostazioni successive per diapositiva consentono di personalizzare quella pagina note in modo indipendente.

Imposta intestazioni e piè di pagina sul master handout

Le pagine handout utilizzano il master handout per i loro segnaposti di intestazione, piè di pagina, data/ora e numero di pagina. A differenza delle pagine note, le impostazioni handout sono gestite tramite il master handout anziché tramite singole diapositive handout.

Usa il metodo getMasterHandoutSlide per accedere al master handout. Se non è presente, chiama setDefaultMasterHandoutSlide per creare il master handout predefinito.

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    IMasterHandoutSlide masterHandoutSlide = presentation.getMasterHandoutSlideManager().getMasterHandoutSlide();

    if (masterHandoutSlide == null) {
        masterHandoutSlide = presentation.getMasterHandoutSlideManager().setDefaultMasterHandoutSlide();
    }

    if (masterHandoutSlide != null) {
        IMasterHandoutSlideHeaderFooterManager headerFooterManager = masterHandoutSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderText("Handout header");
        headerFooterManager.setHeaderVisibility(true);

        headerFooterManager.setFooterText("Handout footer");
        headerFooterManager.setFooterVisibility(true);

        headerFooterManager.setDateTimeText("Date and time text");
        headerFooterManager.setDateTimeVisibility(true);

        headerFooterManager.setSlideNumberVisibility(true);
    }

    presentation.save("presentation_with_handout_footers.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Comprendere ambito ed eredità

Scegli il gestore intestazione/piè di pagina che corrisponde all’ambito che desideri modificare:

Usa la propagazione da un master o layout quando la stessa impostazione deve applicarsi a tutta la sua gerarchia. Usa un gestore di diapositiva individuale o di diapositiva note quando è necessaria un’impostazione locale per una sola pagina.

FAQ

Posso aggiungere un’intestazione a una diapositiva regolare?

No. PowerPoint non definisce un segnaposto di intestazione per le diapositive regolari. Su diapositive regolari, utilizza i segnaposti di piè di pagina, data/ora e numero di diapositiva. I segnaposti di intestazione sono disponibili su pagine note e handout.

Cosa succede se un segnaposto di piè di pagina, data/ora o numero di diapositiva non è visibile?

Usa il gestore intestazione/piè di pagina corrispondente per verificare la sua visibilità e abilitarlo quando necessario. Ad esempio, isFooterVisible segnala se un segnaposto di piè di pagina è presente, e setFooterVisibility ne cambia la visibilità.

Come faccio a far partire la numerazione delle diapositive da un valore diverso da 1?

Chiama il metodo setFirstSlideNumber della presentazione. I segnaposti di numero di diapositiva utilizzeranno la sequenza di numerazione aggiornata.

Cosa accade alle intestazioni e ai piè di pagina durante l’esportazione in PDF, immagini o HTML?

Gli elementi di intestazione e piè di pagina visibili vengono renderizzati insieme al resto del contenuto della presentazione nel formato di output. Il loro aspetto dipende dal tipo di pagina esportata e dalle impostazioni di visibilità dei segnaposti corrispondenti.