管理 C++ 簡報的頁首與頁尾
Contents
[
Hide
]
概觀
Aspose.Slides 允許您在 PowerPoint 簡報中管理頁首和頁尾設定。頁首與頁尾在簡報母片層級上處理,且 API 提供設定頁尾文字、變更頁尾可見性,以及在主註解投影片上更新頁首文字的方法。
您亦可管理講義與註解投影片的頁首與頁尾。這包括變更註解母片、所有子註解投影片,或單一註解投影片之頁首、頁尾、投影片編號與日期時間佔位符的可見性與文字。
管理頁首與頁尾文字
以下範例顯示如何更新某些特定投影片的註解:
// 設定頁首/頁尾文字的函式
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");
}
}
}
}
// 載入簡報
auto pres = System::MakeObject<Presentation>(u"headerTest.pptx");
// 設定頁尾
pres->get_HeaderFooterManager()->SetAllFootersText(u"My Footer text");
pres->get_HeaderFooterManager()->SetAllFootersVisibility(true);
// 存取並更新頁首
auto masterNotesSlide = pres->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (nullptr != masterNotesSlide)
{
UpdateHeaderFooterText(masterNotesSlide);
}
// 儲存簡報
pres->Save(u"HeaderFooterJava.pptx", SaveFormat::Pptx);
在講義與註解投影片上管理頁首與頁尾
Aspose.Slides for C++ 支援在講義與註解投影片上的頁首與頁尾。請依照以下步驟操作:
- 載入包含影片的 Presentation 。
- 變更註解母片及所有註解投影片的頁首與頁尾設定。
- 將母片註解投影片與所有子投影片的頁尾佔位符設為可見。
- 將母片註解投影片與所有子投影片的日期與時間佔位符設為可見。
- 僅變更第一張註解投影片的頁首與頁尾設定。
- 設定註解投影片的頁首佔位符可見。
- 設定註解投影片頁首佔位符的文字。
- 設定註解投影片日期時間佔位符的文字。
- 寫入已修改的簡報檔案。
以下範例中提供了程式碼片段。
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
// 更改註解母片與所有註解投影片的頁首與頁尾設定
auto masterNotesSlide = presentation->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (masterNotesSlide != nullptr)
{
auto headerFooterManager = masterNotesSlide->get_HeaderFooterManager();
// 使母片註解投影片及所有子頁腳佔位符可見
headerFooterManager->SetHeaderAndChildHeadersVisibility(true);
// 使母片註解投影片及所有子頁首佔位符可見
headerFooterManager->SetFooterAndChildFootersVisibility(true);
// 使母片註解投影片及所有子投影片編號佔位符可見
headerFooterManager->SetSlideNumberAndChildSlideNumbersVisibility(true);
// 使母片註解投影片及所有子日期與時間佔位符可見
headerFooterManager->SetDateTimeAndChildDateTimesVisibility(true);
// 設定母片註解投影片及所有子頁首佔位符的文字
headerFooterManager->SetHeaderAndChildHeadersText(u"Header text");
// 設定母片註解投影片及所有子頁腳佔位符的文字
headerFooterManager->SetFooterAndChildFootersText(u"Footer text");
// 設定母片註解投影片及所有子日期與時間佔位符的文字
headerFooterManager->SetDateTimeAndChildDateTimesText(u"Date and time text");
}
// 僅更改第一張註解投影片的頁首與頁尾設定
auto notesSlide = presentation->get_Slides()->idx_get(0)->get_NotesSlideManager()->get_NotesSlide();
if (notesSlide != nullptr)
{
auto headerFooterManager = notesSlide->get_HeaderFooterManager();
if (!headerFooterManager->get_IsHeaderVisible())
{
// 使此註解投影片的頁首佔位符可見
headerFooterManager->SetHeaderVisibility(true);
}
if (!headerFooterManager->get_IsFooterVisible())
{
// 使此註解投影片的頁腳佔位符可見
headerFooterManager->SetFooterVisibility(true);
}
if (!headerFooterManager->get_IsSlideNumberVisible())
{
// 使此註解投影片的投影片編號佔位符可見
headerFooterManager->SetSlideNumberVisibility(true);
}
if (!headerFooterManager->get_IsDateTimeVisible())
{
// 使此註解投影片的日期時間佔位符可見
headerFooterManager->SetDateTimeVisibility(true);
}
// 設定註解投影片的頁首佔位符文字
headerFooterManager->SetHeaderText(u"New header text");
// 設定註解投影片的頁腳佔位符文字
headerFooterManager->SetFooterText(u"New footer text");
// 設定註解投影片的日期時間佔位符文字
headerFooterManager->SetDateTimeText(u"New date and time text");
}
presentation->Save(u"testresult.pptx", SaveFormat::Pptx);
常見問題
我可以在一般投影片上加入「頁首」嗎?
在 PowerPoint 中,「頁首」僅存在於註解與講義;在一般投影片上,支援的元素只有頁尾、日期/時間以及投影片編號。Aspose.Slides 亦遵循相同的限制:頁首僅適用於註解/講義,而投影片則支援頁尾/日期時間/投影片編號。
如果版面配置沒有頁尾區域,我可以「開啟」其可見性嗎?
可以。可透過頁首/頁尾管理器檢查其可見性,必要時將其啟用。這些 API 標示與方法是針對佔位符缺失或被隱藏的情況所設計的。
如何讓投影片編號從非 1 的值開始?
設定簡報的 first slide number;之後所有編號會重新計算。例如,可從 0 或 10 開始,並在標題投影片上隱藏編號。
匯出為 PDF/影像/HTML 時,頁首/頁尾會怎樣?
它們會作為簡報的普通文字元素呈現。也就是說,只要這些元素在投影片或註解頁面上可見,匯出後的檔案中也會與其他內容一同顯示。