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

Przegląd

PowerPoint używa różnych pól zastępczych nagłówka i stopki w zależności od typu strony. Aspose.Slides for PHP via Java umożliwia kontrolowanie tekstu i widoczności tych pól za pomocą klas menedżera nagłówka/stopki.

Dostępne pola zastępcze zależą od zakresu:

Zakres Nagłówek Stopka Data/godzina Numer slajdu/strony
Zwykły slajd Nie Tak Tak Tak
Notatki główne Tak Tak Tak Tak
Notatka slajdu Tak Tak Tak Tak
Materiał pomocniczy główny Tak Tak Tak Tak

Zwykły slajd prezentacji nie ma pola zastępczego nagłówka. Nagłówki są dostępne na stronach notatek i materiałach pomocniczych. Dla zwykłych slajdów użyj pól zastępczych stopki, daty/godziny i numeru slajdu.

Zakres zmiany zależy od używanego menedżera. Klasa SlideHeaderFooterManager steruje jednym zwykłym slajdem. Klasa NotesSlideHeaderFooterManager steruje jedną notatką slajdu. Menedżerowie master i układu mogą również propagować ustawienia do zależnych slajdów, podczas gdy klasa MasterHandoutSlideHeaderFooterManager steruje materiałem pomocniczym głównym.

Ustaw stopkę, datę/godzinę 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/godziny, włączeniu wymaganych pól zastępczych i zapisaniu prezentacji. Numery slajdów generuje prezentacja, więc wystarczy kontrolować ich widoczność.

Użyj setFooterText i setDateTimeText do ustawiania tekstu oraz setFooterVisibility, setDateTimeVisibility i setSlideNumberVisibility aby wyświetlić odpowiednie pola zastępcze.

Poniższy przykład end‑to‑end stosuje tę samą stopkę, tekst daty/godziny i widoczność numeru slajdu we wszystkich zwykłych slajdach:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("presentation.pptx");
try {
    foreach ($presentation->getSlides() as $slide) {
        $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 potrzebujesz zaktualizować tylko jeden slajd, uzyskaj ten slajd bezpośrednio przez metodę getSlides zamiast iterować po całej kolekcji.

Ustaw nagłówki i stopki w notatkach głównych

Notatki główne definiują wspólne formatowanie i zachowanie pól zastępczych dla stron notatek. Użyj klasy MasterNotesSlideHeaderFooterManager gdy chcesz zmienić tylko same notatki główne.

Poniższy przykład ustawia nagłówek, stopkę i tekst daty/godziny w notatkach głównych oraz czyni wszystkie obsługiwane pola zastępcze widocznymi w tym masterze:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("presentation.pptx");
try {
    $masterNotesSlide = $presentation->getMasterNotesSlideManager()->getMasterNotesSlide();

    if (!java_is_null($masterNotesSlide)) {
        $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 notatek głównych.

Zastosuj ustawienia notatek głównych do podrzędnych notatek slajdów

Notatki główne mogą stosować ustawienia nagłówka i stopki zarówno do siebie, jak i do wszystkich zależnych notatek slajdów. Skorzystaj z dedykowanych metod propagacji w klasie MasterNotesSlideHeaderFooterManager gdy te same ustawienia mają być zastosowane w całej hierarchii notatek.

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

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("presentation.pptx");
try {
    $masterNotesSlide = $presentation->getMasterNotesSlideManager()->getMasterNotesSlide();

    if (!java_is_null($masterNotesSlide)) {
        $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 w pojedynczej notatce slajdu

Notatka slajdu należy do konkretnego zwykłego slajdu. Skorzystaj z jej klasy NotesSlideHeaderFooterManager gdy chcesz dostosować tylko tę stronę notatek.

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

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("presentation.pptx");
try {
    $slide = $presentation->getSlides()->get_Item(0);
    $notesSlide = $slide->getNotesSlideManager()->addNotesSlide();
    $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 notatek głównych, a następnie zmieniasz pojedynczą notatkę slajdu, późniejsze ustawienia per‑slajd pozwalają dostosować tę stronę notatek niezależnie.

Ustaw nagłówki i stopki w materiale pomocniczym głównym

Strony materiału pomocniczego używają mastera materiału pomocniczego dla swoich pól zastępczych nagłówka, stopki, daty/godziny i numeru strony. W przeciwieństwie do notatek, ustawienia materiału pomocniczego są zarządzane poprzez master materiału pomocniczego, a nie pojedyncze slajdy materiału pomocniczego.

Użyj metody getMasterHandoutSlide aby uzyskać dostęp do mastera materiału pomocniczego. Jeśli nie jest obecny, wywołaj setDefaultMasterHandoutSlide aby utworzyć domyślny master materiału pomocniczego.

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("presentation.pptx");
try {
    $masterHandoutSlide = $presentation->getMasterHandoutSlideManager()->getMasterHandoutSlide();

    if (java_is_null($masterHandoutSlide)) {
        $masterHandoutSlide = $presentation->getMasterHandoutSlideManager()->setDefaultMasterHandoutSlide();
    }

    if (!java_is_null($masterHandoutSlide)) {
        $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 odpowiadającego zakresowi, który chcesz zmienić:

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

FAQ

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

Nie. PowerPoint nie definiuje pola zastępczego nagłówka dla zwykłych slajdów. Na zwykłych slajdach użyj pól zastępczych stopki, daty/godziny i numeru slajdu. Pola nagłówka są dostępne na stronach notatek i materiałach pomocniczych.

Co zrobić, gdy pole zastępcze stopki, daty/godziny lub numeru slajdu nie jest widoczne?

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 pole stopki jest obecne, a setFooterVisibility zmienia jego widoczność.

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

Wywołaj metodę setFirstSlideNumber prezentacji. Pola numeru slajdu wtedy 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 razem z pozostałą treścią prezentacji w formacie wyjściowym. Ich wygląd zależy od typu strony, która jest eksportowana, oraz od ustawień widoczności odpowiednich pól zastępczych.