Gerenciar cabeçalhos e rodapés de apresentação em C++
Visão geral
Aspose.Slides permite gerenciar as configurações de cabeçalho e rodapé em apresentações do PowerPoint. Cabeçalhos e rodapés são manipulados no nível do mestre da apresentação, e a API fornece métodos para definir o texto do rodapé, alterar a visibilidade do rodapé e atualizar o texto do cabeçalho nos slides mestres de notas.
Você também pode gerenciar cabeçalhos e rodapés para slides de folhetos e notas. Isso inclui alterar a visibilidade e o texto dos marcadores de posição de cabeçalho, rodapé, número do slide e data/hora para o mestre de notas, todos os slides de notas filhos ou um slide de notas individual.
Gerenciar texto de cabeçalho e rodapé
As notas de um slide específico podem ser atualizadas como mostrado no exemplo abaixo:
// Função para definir o texto do cabeçalho/rodapé
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");
}
}
}
}
// Carregar apresentação
auto pres = System::MakeObject<Presentation>(u"headerTest.pptx");
// Definir rodapé
pres->get_HeaderFooterManager()->SetAllFootersText(u"My Footer text");
pres->get_HeaderFooterManager()->SetAllFootersVisibility(true);
// Acessar e atualizar cabeçalho
auto masterNotesSlide = pres->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (nullptr != masterNotesSlide)
{
UpdateHeaderFooterText(masterNotesSlide);
}
// Salvar apresentação
pres->Save(u"HeaderFooterJava.pptx", SaveFormat::Pptx);
Gerenciar cabeçalhos e rodapés em folhetos e slides de notas
Aspose.Slides for C++ oferece suporte a Cabeçalho e Rodapé em slides de folhetos e notas. Siga as etapas abaixo:
- Carregue uma Presentation contendo um vídeo.
- Altere as configurações de cabeçalho e rodapé para o mestre de notas e todos os slides de notas.
- Defina o slide mestre de notas e todos os marcadores de posição de rodapé filhos como visíveis.
- Defina o slide mestre de notas e todos os marcadores de posição de data e hora filhos como visíveis.
- Altere as configurações de cabeçalho e rodapé apenas para o primeiro slide de notas.
- Defina o marcador de posição de cabeçalho do slide de notas como visível.
- Defina o texto do marcador de posição de cabeçalho do slide de notas.
- Defina o texto do marcador de posição de data e hora do slide de notas.
- Grave o arquivo de apresentação modificado.
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
// Alterar as configurações de cabeçalho e rodapé para o mestre de notas e todos os slides de notas
auto masterNotesSlide = presentation->get_MasterNotesSlideManager()->get_MasterNotesSlide();
if (masterNotesSlide != nullptr)
{
auto headerFooterManager = masterNotesSlide->get_HeaderFooterManager();
// torne o slide mestre de notas e todos os marcadores de posição de rodapé filhos visíveis
headerFooterManager->SetHeaderAndChildHeadersVisibility(true);
// torne o slide mestre de notas e todos os marcadores de posição de cabeçalho filhos visíveis
headerFooterManager->SetFooterAndChildFootersVisibility(true);
// torne o slide mestre de notas e todos os marcadores de posição de número do slide filhos visíveis
headerFooterManager->SetSlideNumberAndChildSlideNumbersVisibility(true);
// torne o slide mestre de notas e todos os marcadores de posição de data e hora filhos visíveis
headerFooterManager->SetDateTimeAndChildDateTimesVisibility(true);
// defina o texto no slide mestre de notas e em todos os marcadores de posição de cabeçalho filhos
headerFooterManager->SetHeaderAndChildHeadersText(u"Header text");
// defina o texto no slide mestre de notas e em todos os marcadores de posição de rodapé filhos
headerFooterManager->SetFooterAndChildFootersText(u"Footer text");
// defina o texto no slide mestre de notas e em todos os marcadores de posição de data e hora filhos
headerFooterManager->SetDateTimeAndChildDateTimesText(u"Date and time text");
}
// Alterar as configurações de cabeçalho e rodapé apenas para o primeiro slide de notas
auto notesSlide = presentation->get_Slides()->idx_get(0)->get_NotesSlideManager()->get_NotesSlide();
if (notesSlide != nullptr)
{
auto headerFooterManager = notesSlide->get_HeaderFooterManager();
if (!headerFooterManager->get_IsHeaderVisible())
{
// torne este marcador de posição de cabeçalho do slide de notas visível
headerFooterManager->SetHeaderVisibility(true);
}
if (!headerFooterManager->get_IsFooterVisible())
{
// torne este marcador de posição de rodapé do slide de notas visível
headerFooterManager->SetFooterVisibility(true);
}
if (!headerFooterManager->get_IsSlideNumberVisible())
{
// torne este marcador de posição de número do slide do slide de notas visível
headerFooterManager->SetSlideNumberVisibility(true);
}
if (!headerFooterManager->get_IsDateTimeVisible())
{
// torne este marcador de posição de data e hora do slide de notas visível
headerFooterManager->SetDateTimeVisibility(true);
}
// defina o texto no marcador de posição de cabeçalho do slide de notas
headerFooterManager->SetHeaderText(u"New header text");
// defina o texto no marcador de posição de rodapé do slide de notas
headerFooterManager->SetFooterText(u"New footer text");
// defina o texto no marcador de posição de data e hora do slide de notas
headerFooterManager->SetDateTimeText(u"New date and time text");
}
presentation->Save(u"testresult.pptx", SaveFormat::Pptx);
Perguntas frequentes
Posso adicionar um “cabeçalho” aos slides normais?
No PowerPoint, o “cabeçalho” existe apenas para notas e folhetos; nos slides normais, os elementos suportados são rodapé, data/hora e número do slide. No Aspose.Slides isso segue as mesmas limitações: cabeçalho apenas para Notas/Folhetos e, nos slides, Rodapé/DataHora/NúmeroDoSlide.
E se o layout não contiver uma área de rodapé—posso “ativar” sua visibilidade?
Sim. Verifique a visibilidade por meio do gerenciador de cabeçalho/rodapé e habilite-a se necessário. Esses indicadores e métodos da API foram projetados para casos em que o marcador de posição está ausente ou oculto.
Como faço para que o número do slide comece a partir de um valor diferente de 1?
Defina o first slide number da apresentação; após isso, toda a numeração é recalculada. Por exemplo, você pode iniciar em 0 ou 10 e ocultar o número no slide de título.
O que acontece com cabeçalhos/rodapés ao exportar para PDF/imagens/HTML?
Eles são renderizados como elementos de texto normais da apresentação. Ou seja, se os elementos estiverem visíveis nos slides/páginas de notas, eles também aparecerão no formato de saída junto com o restante do conteúdo.