Zarządzanie nagłówkami i stopkami prezentacji w C++
Przegląd
Aspose.Slides umożliwia zarządzanie ustawieniami nagłówka i stopki w prezentacjach PowerPoint. Nagłówki i stopki są obsługiwane na poziomie głównego szablonu prezentacji, a API udostępnia metody do ustawiania tekstu stopki, zmiany widoczności stopki oraz aktualizowania tekstu nagłówka na głównych slajdach notatek.
Możesz także zarządzać nagłówkami i stopkami dla slajdów rozdania i notatek. Obejmuje to zmianę widoczności i tekstu pól zastępczych nagłówka, stopki, numeru slajdu oraz daty i czasu dla głównego szablonu notatek, wszystkich podrzędnych slajdów notatek lub pojedynczego slajdu notatek.
Zarządzanie tekstem nagłówka i stopki
Notatki niektórych konkretnych slajdów można zaktualizować, jak pokazano w przykładzie poniżej:
// Funkcja ustawia tekst nagłówka/stopki
void UpdateHeaderFooterText(System::SharedPtr<IBaseSlide> master)
{
for (const auto& shape : System::IterateOver(master->get_Shapes()))
{
if (shape->get_Placeholder() != nullptr)
{
if (shape->get_Placeholder()->get_Type() == PlaceholderType::Header)
{
(System::ExplicitCast<IAutoShape>(shape))->get_TextFrame()->set_Text(u"HI there new header");
}
}
}
}
// Wczytaj prezentację
auto pres = System::MakeObject<Presentation>(u"headerTest.pptx");
// Ustawianie stopki
pres->get_HeaderFooterManager()->SetAllFootersText(u"My Footer text");
pres->get_HeaderFooterManager()->SetAllFootersVisibility(true);
// Dostęp i aktualizacja nagłówka
auto masterNotesSlide = pres->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (nullptr != masterNotesSlide)
{
UpdateHeaderFooterText(masterNotesSlide);
}
// Zapisz prezentację
pres->Save(u"HeaderFooterJava.pptx", SaveFormat::Pptx);
Zarządzanie nagłówkami i stopkami na slajdach rozdania i notatek
Aspose.Slides dla C++ obsługuje nagłówki i stopki w slajdach rozdania i notatek. Postępuj zgodnie z poniższymi krokami:
- Load a Prezentacjęcontaining a video.
- Zmień ustawienia nagłówka i stopki dla głównego szablonu notatek i wszystkich slajdów notatek.
- Ustaw widoczność pól zastępczych Footer w głównym slajdzie notatek i wszystkich podrzędnych.
- Ustaw widoczność pól zastępczych Date i time w głównym slajdzie notatek i wszystkich podrzędnych.
- Zmień ustawienia nagłówka i stopki tylko dla pierwszego slajdu notatek.
- Ustaw widoczność pola zastępczego Header w slajdzie notatek.
- Ustaw tekst w polu zastępczym Header slajdu notatek.
- Ustaw tekst w polu zastępczym Date-time slajdu notatek.
- Zapisz zmodyfikowany plik prezentacji.
Fragment kodu podany w poniższym przykładzie.
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
// Zmień ustawienia nagłówka i stopki dla głównego szablonu notatek i wszystkich slajdów notatek
auto masterNotesSlide = presentation->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (masterNotesSlide != nullptr)
{
auto headerFooterManager = masterNotesSlide->get_HeaderFooterManager();
// spraw, aby główny slajd notatek i wszystkie podrzędne pola zastępcze stopki były widoczne
headerFooterManager->SetHeaderAndChildHeadersVisibility(true);
// spraw, aby główny slajd notatek i wszystkie podrzędne pola zastępcze nagłówka były widoczne
headerFooterManager->SetFooterAndChildFootersVisibility(true);
// spraw, aby główny slajd notatek i wszystkie podrzędne pola zastępcze numeru slajdu były widoczne
headerFooterManager->SetSlideNumberAndChildSlideNumbersVisibility(true);
// spraw, aby główny slajd notatek i wszystkie podrzędne pola zastępcze daty i czasu były widoczne
headerFooterManager->SetDateTimeAndChildDateTimesVisibility(true);
// ustaw tekst na głównym slajdzie notatek i wszystkich podrzędnych polach zastępczych nagłówka
headerFooterManager->SetHeaderAndChildHeadersText(u"Header text");
// ustaw tekst na głównym slajdzie notatek i wszystkich podrzędnych polach zastępczych stopki
headerFooterManager->SetFooterAndChildFootersText(u"Footer text");
// ustaw tekst na głównym slajdzie notatek i wszystkich podrzędnych polach zastępczych daty i czasu
headerFooterManager->SetDateTimeAndChildDateTimesText(u"Date and time text");
}
// Zmień ustawienia nagłówka i stopki tylko dla pierwszego slajdu notatek
auto notesSlide = presentation->get_Slides()->idx_get(0)->get_NotesSlideManager()->get_NotesSlide();
if (notesSlide != nullptr)
{
auto headerFooterManager = notesSlide->get_HeaderFooterManager();
if (!headerFooterManager->get_IsHeaderVisible())
{
// ustaw widoczny pole zastępcze nagłówka tego slajdu notatek
headerFooterManager->SetHeaderVisibility(true);
}
if (!headerFooterManager->get_IsFooterVisible())
{
// ustaw widoczny pole zastępcze stopki tego slajdu notatek
headerFooterManager->SetFooterVisibility(true);
}
if (!headerFooterManager->get_IsSlideNumberVisible())
{
// ustaw widoczny pole zastępcze numeru slajdu tego slajdu notatek
headerFooterManager->SetSlideNumberVisibility(true);
}
if (!headerFooterManager->get_IsDateTimeVisible())
{
// ustaw widoczny pole zastępcze daty i czasu tego slajdu notatek
headerFooterManager->SetDateTimeVisibility(true);
}
// ustaw tekst w polu zastępczym nagłówka slajdu notatek
headerFooterManager->SetHeaderText(u"New header text");
// ustaw tekst w polu zastępczym stopki slajdu notatek
headerFooterManager->SetFooterText(u"New footer text");
// ustaw tekst w polu zastępczym daty i czasu slajdu notatek
headerFooterManager->SetDateTimeText(u"New date and time text");
}
presentation->Save(u"testresult.pptx", SaveFormat::Pptx);
FAQ
Czy mogę dodać „header” do zwykłych slajdów?
W programie PowerPoint „Header” istnieje tylko dla notatek i rozdania; na zwykłych slajdach obsługiwane elementy to stopka, data/godzina oraz numer slajdu. W Aspose.Slides obowiązują te same ograniczenia: nagłówek tylko dla Notes/Handout, a na slajdach — Footer/DateTime/SlideNumber.
Co zrobić, jeśli układ nie zawiera obszaru stopki — czy mogę „włączyć” jej widoczność?
Tak. Sprawdź widoczność przy pomocy menedżera nagłówka/stopki i włącz ją w razie potrzeby. Te wskaźniki i metody API są przeznaczone do sytuacji, gdy pole zastępcze jest brakujące lub ukryte.
Jak sprawić, by numer slajdu zaczynał się od wartości innej niż 1?
Ustaw pierwszy numer slajdu; po tym wszystkie numery są przeliczane ponownie. Na przykład możesz rozpocząć od 0 lub 10 i ukryć numer na slajdzie tytułowym.
Co się dzieje z nagłówkami/stopkami przy eksportowaniu do PDF/obrazów/HTML?
Są renderowane jako zwykłe elementy tekstowe prezentacji. Oznacza to, że jeśli elementy są widoczne na slajdach/stronach notatek, pojawią się również w formacie wyjściowym wraz z resztą treści.