Zarządzanie nagłówkami i stopkami prezentacji w Javie

Przegląd

PowerPoint używa różnych symboli nagłówka i stopki w zależności od typu strony. Aspose.Slides for Java pozwala kontrolować tekst i widoczność tych symboli za pomocą interfejsów menedżera nagłówka/stopki.

Dostępne symbole zależą od zakresu:

Zakres Nagłówek Stopka Data/czas Numer slajdu/strony
Zwykły slajd Nie Tak Tak Tak
Mistrz notatek Tak Tak Tak Tak
Slajd notatek Tak Tak Tak Tak
Mistrz wersji rozdawniczej Tak Tak Tak Tak

Zwykły slajd prezentacji nie ma symbolu nagłówka. Nagłówki są dostępne na stronach notatek i materiałach rozdawniczych. Dla zwykłych slajdów używaj symboli stopki, daty/czasu i numeru slajdu.

Zakres zmiany zależy od używanego menedżera. Interfejs ISlideHeaderFooterManager kontroluje jeden zwykły slajd. Interfejs INotesSlideHeaderFooterManager kontroluje jeden slajd notatek. Menedżerowie master i układu mogą także propagować ustawienia do zależnych slajdów, natomiast interfejs IMasterHandoutSlideHeaderFooterManager kontroluje mistrza wersji rozdawniczej.

Ustaw Stopkę, Datę/Czas i Numery Slajdów na Zwykłych Slajdach

Dla zwykłych slajdów podstawowy przepływ pracy polega na uzyskaniu menedżera nagłówka/stopki każdego slajdu, ustawieniu tekstu stopki i daty/czasu, włączeniu potrzebnych symboli oraz zapisaniu prezentacji. Numery slajdów są generowane przez prezentację, więc wystarczy kontrolować ich widoczność.

Użyj setFooterText i setDateTimeText do ustawiania tekstu oraz setFooterVisibility, setDateTimeVisibility, i setSlideNumberVisibility aby pokazać odpowiednie symbole.

Poniższy kompletny przykład stosuje tę samą stopkę, tekst daty/czasu oraz widoczność numeru slajdu we wszystkich zwykłych slajdach:

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();
}

Jeśli musisz zaktualizować tylko jeden slajd, uzyskaj ten slajd bezpośrednio za pomocą metody getSlides zamiast iterować po całej kolekcji.

Ustaw Nagłówki i Stopki w Mistrzu Notatek

Mistrz notatek definiuje wspólne formatowanie i zachowanie symboli dla stron notatek. Użyj interfejsu IMasterNotesSlideHeaderFooterManager kiedy chcesz zmienić tylko sam mistrz notatek.

Poniższy przykład ustawia nagłówek, stopkę i tekst daty/czasu w mistrzu notatek oraz sprawia, że wszystkie obsługiwane symbole są widoczne w tym mistrzu:

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();
}

Metoda getMasterNotesSlide zwraca null, gdy prezentacja nie zawiera mistrza notatek.

Zastosuj Ustawienia Mistrza Notatek do Dziecięcych Slajdów Notatek

Mistrz notatek może zastosować ustawienia nagłówka i stopki zarówno do siebie, jak i do wszystkich zależnych slajdów notatek. Użyj dedykowanych metod propagacji na interfejsie IMasterNotesSlideHeaderFooterManager gdy te same ustawienia mają być zastosowane w całej hierarchii notatek.

Na przykład, setHeaderAndChildHeadersText i setHeaderAndChildHeadersVisibility aktualizują nagłówek mistrza notatek oraz wszystkie nagłówki podrzędne. Dostępne są odpowiednie metody dla stopek, daty/czasu i numerów slajdów.

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();
}

Metody propagacji użyte powyżej to setFooterAndChildFootersText, setFooterAndChildFootersVisibility, setDateTimeAndChildDateTimesText, setDateTimeAndChildDateTimesVisibility, oraz setSlideNumberAndChildSlideNumbersVisibility.

Ustaw Nagłówki i Stopki na Indywidualnym Slajdzie Notatek

Slajd notatek należy do konkretnego zwykłego slajdu. Użyj jego interfejsu INotesSlideHeaderFooterManager kiedy chcesz dostosować tylko tę stronę notatek.

Metoda addNotesSlide zwraca slajd notatek dla bieżącego slajdu i tworzy go, jeśli jeszcze nie istnieje. Poniższy przykład konfiguruje stronę notatek powiązaną z pierwszym slajdem prezentacji:

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();
}

Jeśli najpierw propagujesz ustawienia z mistrza notatek, a potem zmieniasz indywidualny slajd notatek, późniejsze ustawienia per‑slajd pozwalają niezależnie dostosować tę stronę notatek.

Ustaw Nagłówki i Stopki w Mistrzu Materiałów Rozdawniczych

Strony materiałów rozdawniczych używają mistrza wersji rozdawniczej dla swoich symboli nagłówka, stopki, daty/czasu i numeru strony. W przeciwieństwie do stron notatek, ustawienia materiałów rozdawniczych są zarządzane przez mistrza wersji rozdawniczej, a nie przez poszczególne slajdy rozdawnicze.

Użyj metody getMasterHandoutSlide aby uzyskać dostęp do mistrza wersji rozdawniczej. Jeśli go nie ma, wywołaj setDefaultMasterHandoutSlide aby utworzyć domyślny mistrz wersji rozdawniczej.

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();
}

Zrozum Zakres i Dziedziczenie

Wybierz menedżera nagłówka/stopki, który odpowiada zakresowi, który chcesz zmienić:

Używaj propagacji z mastera lub układu, gdy to samo ustawienie ma obowiązywać w całej hierarchii. Używaj menedżera indywidualnego slajdu lub slajdu notatek, gdy potrzebne jest lokalne ustawienie dla jednej strony.

FAQ

Czy mogę dodać nagłówek do zwykłego slajdu?

Nie. PowerPoint nie definiuje placeholdera nagłówka dla zwykłych slajdów. Na zwykłych slajdach używaj placeholderów stopki, daty/czasu i numeru slajdu. Placeholdery nagłówka są dostępne na stronach notatek i materiałach rozdawniczych.

Co zrobić, jeśli placeholder stopki, daty/czasu lub numeru slajdu nie jest widoczny?

Użyj odpowiedniego menedżera nagłówka/stopki, aby sprawdzić jego widoczność i w razie potrzeby ją włączyć. Na przykład, metoda isFooterVisible informuje, czy placeholder stopki jest obecny, a setFooterVisibility zmienia jego widoczność.

Jak rozpocząć numerację slajdów od wartości innej niż 1?

Wywołaj metodę prezentacji setFirstSlideNumber. Placeholdery numeru slajdu użyją zaktualizowanej sekwencji numeracji.

Co się dzieje z nagłówkami i stopkami podczas eksportu do PDF, obrazów lub HTML?

Widoczne elementy nagłówka i stopki są renderowane wraz z resztą zawartości prezentacji w wyjściowym formacie. Ich wygląd zależy od typu eksportowanej strony i odpowiadających ustawień widoczności placeholderów.