Správa záhlaví a patiček prezentace v C++

Přehled

PowerPoint používá různé zástupné symboly záhlaví a patičky v závislosti na typu stránky. Aspose.Slides pro C++ vám umožňuje řídit text a viditelnost těchto zástupných symbolů pomocí rozhraní správců záhlaví/patičky.

Dostupné zástupné symboly závisí na rozsahu:

Rozsah Záhlaví Patička Datum/čas Číslo snímku/stránky
Normální snímek Ne Ano Ano Ano
Poznámkový master Ano Ano Ano Ano
Poznámkový snímek Ano Ano Ano Ano
Výtiskový master Ano Ano Ano Ano

Normální snímek prezentace nemá zástupný symbol záhlaví. Záhlaví jsou k dispozici na stránkách poznámek a výtiscích. Pro normální snímky použijte místo toho zástupné symboly patičky, datum/čas a číslo snímku.

Rozsah změny závisí na použitém správci. Rozhraní ISlideHeaderFooterManager řídí jeden normální snímek. Rozhraní INotesSlideHeaderFooterManager řídí jeden snímek poznámek. Správci masteru a rozvržení mohou také šířit nastavení do závislých snímků, zatímco rozhraní IMasterHandoutSlideHeaderFooterManager řídí výtiskový master.

Nastavení patičky, data/času a čísel snímků na normálních snímcích

Pro normální snímky je základní postup získat správce záhlaví/patičky každého snímku, nastavit text patičky a data/času, povolit požadované zástupné symboly a uložit prezentaci. Čísla snímků generuje prezentace, takže je třeba řídit jen jejich viditelnost.

Použijte SetFooterText a SetDateTimeText k nastavení textu a použijte SetFooterVisibility, SetDateTimeVisibility a SetSlideNumberVisibility k zobrazení odpovídajících zástupných symbolů.

Následující kompletní příklad použije stejnou patičku, text data/času a viditelnost čísla snímku na všech normálních snímcích:

#include <DOM/ISlide.h>
#include <DOM/ISlideCollection.h>
#include <DOM/ISlideHeaderFooterManager.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/enumerator_adapter.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");

for (const auto& slide : System::IterateOver(presentation->get_Slides()))
{
    auto headerFooterManager = slide->get_HeaderFooterManager();

    headerFooterManager->SetFooterText(u"Company Confidential");
    headerFooterManager->SetFooterVisibility(true);

    headerFooterManager->SetDateTimeText(u"Date and time text");
    headerFooterManager->SetDateTimeVisibility(true);

    headerFooterManager->SetSlideNumberVisibility(true);
}

presentation->Save(u"presentation_with_slide_footers.pptx", SaveFormat::Pptx);

Pokud potřebujete aktualizovat pouze jeden snímek, přistupte k němu přímo přes Presentation::get_Slide místo iterace přes celou kolekci snímků.

Nastavení záhlaví a patiček na masteru poznámek

Master poznámek definuje společné formátování a chování zástupných symbolů pro stránky poznámek. Použijte rozhraní IMasterNotesSlideHeaderFooterManager když chcete změnit pouze samotný master poznámek.

Následující příklad nastaví záhlaví, patičku a text data/času na masteru poznámek a zobrazí všechny podporované zástupné symboly na tomto masteru:

#include <DOM/IMasterNotesSlide.h>
#include <DOM/IMasterNotesSlideHeaderFooterManager.h>
#include <DOM/IMasterNotesSlideManager.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto masterNotesSlide = presentation->get_MasterNotesSlideManager()->get_MasterNotesSlide();

if (masterNotesSlide != nullptr)
{
    auto headerFooterManager = masterNotesSlide->get_HeaderFooterManager();

    headerFooterManager->SetHeaderText(u"Notes header");
    headerFooterManager->SetHeaderVisibility(true);

    headerFooterManager->SetFooterText(u"Notes footer");
    headerFooterManager->SetFooterVisibility(true);

    headerFooterManager->SetDateTimeText(u"Date and time text");
    headerFooterManager->SetDateTimeVisibility(true);

    headerFooterManager->SetSlideNumberVisibility(true);
}

presentation->Save(u"presentation_with_notes_master_footers.pptx", SaveFormat::Pptx);

Metoda IMasterNotesSlideManager::get_MasterNotesSlide vrací nullptr, když prezentace neobsahuje master poznámek.

Použití nastavení masteru poznámek na podřízených snímcích poznámek

Master poznámek může aplikovat nastavení záhlaví a patičky na sebe i na všechny podřízené snímky poznámek. Použijte dedikované metody propagace na IMasterNotesSlideHeaderFooterManager když mají být stejná nastavení použita napříč hierarchií poznámek.

Například SetHeaderAndChildHeadersText a SetHeaderAndChildHeadersVisibility aktualizují záhlaví masteru poznámek a všech podřízených záhlaví. Ekvivalantní metody jsou k dispozici pro patičky, datum/čas a čísla snímků.

#include <DOM/IMasterNotesSlide.h>
#include <DOM/IMasterNotesSlideHeaderFooterManager.h>
#include <DOM/IMasterNotesSlideManager.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto masterNotesSlide = presentation->get_MasterNotesSlideManager()->get_MasterNotesSlide();

if (masterNotesSlide != nullptr)
{
    auto headerFooterManager = masterNotesSlide->get_HeaderFooterManager();

    headerFooterManager->SetHeaderAndChildHeadersText(u"Notes header");
    headerFooterManager->SetHeaderAndChildHeadersVisibility(true);

    headerFooterManager->SetFooterAndChildFootersText(u"Notes footer");
    headerFooterManager->SetFooterAndChildFootersVisibility(true);

    headerFooterManager->SetDateTimeAndChildDateTimesText(u"Date and time text");
    headerFooterManager->SetDateTimeAndChildDateTimesVisibility(true);

    headerFooterManager->SetSlideNumberAndChildSlideNumbersVisibility(true);
}

presentation->Save(u"presentation_with_child_notes_footers.pptx", SaveFormat::Pptx);

Metody propagace použité výše jsou SetFooterAndChildFootersText, SetFooterAndChildFootersVisibility, SetDateTimeAndChildDateTimesText, SetDateTimeAndChildDateTimesVisibility a SetSlideNumberAndChildSlideNumbersVisibility.

Nastavení záhlaví a patiček na individuálním snímku poznámek

Snímek poznámek patří ke konkrétnímu normálnímu snímku. Použijte jeho rozhraní INotesSlideHeaderFooterManager když chcete přizpůsobit pouze tuto stránku poznámek.

Metoda INotesSlideManager::AddNotesSlide vrací snímek poznámek pro aktuální snímek a vytvoří jej, pokud ještě neexistuje. Následující příklad konfiguruje stránku poznámek přidruženou k prvnímu snímku prezentace:

#include <DOM/INotesSlide.h>
#include <DOM/INotesSlideHeaderFooterManager.h>
#include <DOM/INotesSlideManager.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto slide = presentation->get_Slide(0);
auto notesSlide = slide->get_NotesSlideManager()->AddNotesSlide();
auto headerFooterManager = notesSlide->get_HeaderFooterManager();

headerFooterManager->SetHeaderText(u"Header for the first notes page");
headerFooterManager->SetHeaderVisibility(true);

headerFooterManager->SetFooterText(u"Footer for the first notes page");
headerFooterManager->SetFooterVisibility(true);

headerFooterManager->SetDateTimeText(u"Date and time text");
headerFooterManager->SetDateTimeVisibility(true);

headerFooterManager->SetSlideNumberVisibility(true);

presentation->Save(u"presentation_with_custom_notes_footers.pptx", SaveFormat::Pptx);

Pokud nejprve propagujete nastavení z masteru poznámek a poté změníte individuální snímek poznámek, pozdější nastavení per‑snímek vám umožní přizpůsobit tuto stránku poznámek nezávisle.

Nastavení záhlaví a patiček na výtiskovém masteru

Stránky výtisků používají výtiskový master pro své zástupné symboly záhlaví, patičky, datum/čas a číslo stránky. Na rozdíl od stránek poznámek jsou nastavení výtisku spravována přes výtiskový master, nikoli přes jednotlivé výtiskové snímky.

Použijte IMasterHandoutSlideManager::get_MasterHandoutSlide k přístupu k výtiskovému masteru. Pokud není přítomen, zavolejte IMasterHandoutSlideManager::SetDefaultMasterHandoutSlide k vytvoření výchozího výtiskového masteru.

#include <DOM/IMasterHandoutSlide.h>
#include <DOM/IMasterHandoutSlideHeaderFooterManager.h>
#include <DOM/IMasterHandoutSlideManager.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto masterHandoutSlideManager = presentation->get_MasterHandoutSlideManager();
auto masterHandoutSlide = masterHandoutSlideManager->get_MasterHandoutSlide();

if (masterHandoutSlide == nullptr)
{
    masterHandoutSlide = masterHandoutSlideManager->SetDefaultMasterHandoutSlide();
}

if (masterHandoutSlide != nullptr)
{
    auto headerFooterManager = masterHandoutSlide->get_HeaderFooterManager();

    headerFooterManager->SetHeaderText(u"Handout header");
    headerFooterManager->SetHeaderVisibility(true);

    headerFooterManager->SetFooterText(u"Handout footer");
    headerFooterManager->SetFooterVisibility(true);

    headerFooterManager->SetDateTimeText(u"Date and time text");
    headerFooterManager->SetDateTimeVisibility(true);

    headerFooterManager->SetSlideNumberVisibility(true);
}

presentation->Save(u"presentation_with_handout_footers.pptx", SaveFormat::Pptx);

Pochopení rozsahu a dědičnosti

Vyberte správce záhlaví/patičky, který odpovídá rozsahu, který chcete změnit:

Použijte propagaci z masteru nebo rozvržení, když má stejné nastavení platit v celé jeho hierarchii. Použijte individuální správce snímku nebo správce snímku poznámek, když potřebujete lokální nastavení pro jednu stránku.

Často kladené otázky

Mohu přidat záhlaví na normální snímek?

Ne. PowerPoint nedefinuje zástupný symbol záhlaví pro normální snímky. Na normálních snímcích použijte zástupné symboly patičky, datum/čas a číslo snímku. Zástupné symboly záhlaví jsou k dispozici na stránkách poznámek a výtiscích.

Co když zástupný symbol patičky, datum/čas nebo číslo snímku není viditelný?

Použijte odpovídajícího správce záhlaví/patičky k ověření jeho viditelnosti a povolení podle potřeby. Například get_IsFooterVisible uvádí, zda je zástupný symbol patičky přítomen, a SetFooterVisibility mění jeho viditelnost.

Jak nastavit číslování snímků od hodnoty jiné než 1?

Použijte Presentation::set_FirstSlideNumber k nastavení čísla prvního snímku. Zástupné symboly čísla snímku pak použijí aktualizovanou sekvenci číslování.

Co se stane se záhlavími a patičkami při exportu do PDF, obrázků nebo HTML?

Viditelné prvky záhlaví a patičky jsou vykresleny spolu se zbytkem obsahu prezentace ve výstupním formátu. Jejich vzhled závisí na typu stránky, která je exportována, a na nastavení viditelnosti odpovídajících zástupných symbolů.