Zarządzanie nagłówkami i stopkami prezentacji w JavaScript
Przegląd
PowerPoint używa różnych pól zastępczych nagłówka i stopki w zależności od typu strony. Aspose.Slides dla Node.js via Java umożliwia kontrolowanie tekstu i widoczności tych pól zastępczych 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 |
| Mistrz notatek | Tak | Tak | Tak | Tak |
| Slajd notatek | Tak | Tak | Tak | Tak |
| Mistrz wersji wydruku | Tak | Tak | Tak | Tak |
Zwykły slajd prezentacji nie posiada pola zastępczego nagłówka. Nagłówki są dostępne na stronach notatek i materiałach rozdawniczych. Dla zwykłych slajdów używaj pól zastępczych stopki, daty/godziny oraz numeru slajdu zamiast nich.
Zakres zmiany zależy od używanego menedżera. Klasa SlideHeaderFooterManager steruje jednym zwykłym slajdem. Klasa NotesSlideHeaderFooterManager steruje jednym slajdem notatek. Menedżery mistrza i układu mogą także propagować ustawienia do zależnych slajdów, podczas gdy klasa MasterHandoutSlideHeaderFooterManager steruje mistrzem wersji wydruku.
Ustaw stopkę, datę/godzinę i numery slajdów na zwykłych slajdach
Dla zwykłych slajdów podstawowy przebieg 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 oraz zapisaniu prezentacji. Numery slajdów są generowane przez prezentację, więc musisz kontrolować jedynie ich widoczność.
Użyj setFooterText i setDateTimeText aby ustawić tekst, oraz użyj setFooterVisibility, setDateTimeVisibility i setSlideNumberVisibility aby wyświetlić odpowiednie pola zastępcze.
Poniższy przykład końcowy stosuje tę samą stopkę, tekst daty/godziny oraz widoczność numeru slajdu do wszystkich zwykłych slajdów:
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("presentation.pptx");
try {
for (let i = 0; i < presentation.getSlides().size(); i++) {
const slide = presentation.getSlides().get_Item(i);
const 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", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Jeśli potrzebujesz zaktualizować tylko jeden slajd, uzyskaj dostęp do tego slajdu 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 pól zastępczych dla stron notatek. Użyj klasy MasterNotesSlideHeaderFooterManager gdy chcesz zmienić tylko sam mistrz notatek.
Poniższy przykład ustawia tekst nagłówka, stopki i daty/godziny w mistrzu notatek oraz sprawia, że wszystkie obsługiwane pola zastępcze są widoczne w tym mistrzu:
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("presentation.pptx");
try {
const masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();
if (masterNotesSlide !== null) {
const 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", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Metoda getMasterNotesSlide zwraca null, gdy prezentacja nie zawiera mistrza notatek.
Zastosuj ustawienia mistrza notatek do podrzędnych slajdów notatek
Mistrz notatek może zastosować ustawienia nagłówka i stopki do siebie oraz do wszystkich zależnych slajdów notatek. Użyj dedykowanych metod propagacji w klasie MasterNotesSlideHeaderFooterManager gdy te same ustawienia mają być stosowane 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ą równoważne metody dla stopek, daty/godziny i numerów slajdów.
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("presentation.pptx");
try {
const masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();
if (masterNotesSlide !== null) {
const 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", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Metody propagacji użyte powyżej to setFooterAndChildFootersText, setFooterAndChildFootersVisibility, setDateTimeAndChildDateTimesText, setDateTimeAndChildDateTimesVisibility oraz setSlideNumberAndChildSlideNumbersVisibility.
Ustaw nagłówki i stopki w pojedynczym slajdzie notatek
Slajd notatek należy do konkretnego zwykłego slajdu. Użyj jego klasy NotesSlideHeaderFooterManager gdy 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:
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("presentation.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const headerFooterManager = slide.getNotesSlideManager().addNotesSlide().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", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Jeśli najpierw propagujesz ustawienia z mistrza notatek, a następnie zmienisz pojedynczy slajd notatek, późniejsze ustawienia per-slajd pozwalają na niezależne dostosowanie tej strony notatek.
Ustaw nagłówki i stopki w mistrzu wersji wydruku
Strony wersji wydruku używają mistrza wersji wydruku dla swoich pól zastępczych nagłówka, stopki, daty/godziny i numeru strony. W przeciwieństwie do stron notatek, ustawienia wersji wydruku są zarządzane przez mistrza wersji wydruku, a nie przez pojedyncze slajdy wersji wydruku.
Użyj getMasterHandoutSlide aby uzyskać dostęp do mistrza wersji wydruku. Jeśli nie istnieje, wywołaj setDefaultMasterHandoutSlide aby utworzyć domyślny mistrz wersji wydruku.
const slides = require("aspose.slides.via.java");
const presentation = new slides.Presentation("presentation.pptx");
try {
let masterHandoutSlide = presentation.getMasterHandoutSlideManager().getMasterHandoutSlide();
if (masterHandoutSlide === null) {
masterHandoutSlide = presentation.getMasterHandoutSlideManager().setDefaultMasterHandoutSlide();
}
if (masterHandoutSlide !== null) {
const 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", slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Zrozum zakres i dziedziczenie
Wybierz menedżera nagłówka/stopki, który odpowiada zakresowi, który chcesz zmienić:
SlideHeaderFooterManagerzmienia ustawienia stopki, daty/godziny i numeru slajdu dla jednego zwykłego slajdu.LayoutSlideHeaderFooterManagersteruje slajdem układu i może propagować obsługiwane ustawienia do zależnych slajdów.MasterSlideHeaderFooterManagersteruje mistrzem zwykłych slajdów i może propagować obsługiwane ustawienia do zależnych slajdów.MasterNotesSlideHeaderFooterManagersteruje mistrzem notatek i może propagować ustawienia do wszystkich zależnych slajdów notatek.NotesSlideHeaderFooterManagerzmienia jeden slajd notatek i obsługuje pole nagłówka oprócz stopki, daty/godziny i numeru slajdu.MasterHandoutSlideHeaderFooterManagerzmienia mistrza wersji wydruku i obsługuje wszystkie cztery typy pól zastępczych.
Użyj propagacji z mistrza lub układu, gdy to samo ustawienie ma obowiązywać w całej hierarchii. Użyj menedżera pojedynczego slajdu lub slajdu notatek, gdy potrzebujesz lokalnego ustawienia 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żywaj pól zastępczych stopki, daty/godziny i numeru slajdu. Pola nagłówka są dostępne na stronach notatek i materiałach rozdawniczych.
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, isFooterVisible informuje, czy pole zastępcze 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 zastępcze numeru slajdu będą wtedy używać 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 pozostałą zawartością prezentacji w wyjściowym formacie. Ich wygląd zależy od eksportowanego typu strony oraz od ustawień widoczności odpowiednich pól zastępczych.