Gerenciar cabeçalhos e rodapés de apresentação no .NET
Visão geral
Aspose.Slides permite que você gerencie 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 de notas mestre.
Você também pode gerenciar cabeçalhos e rodapés para slides de folheto 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é
Notas de um slide específico podem ser atualizadas conforme o exemplo abaixo:
// Carregar apresentação
Presentation pres = new Presentation("headerTest.pptx");
// Definindo rodapé
pres.HeaderFooterManager.SetAllFootersText("My Footer text");
pres.HeaderFooterManager.SetAllFootersVisibility(true);
// Acessar e atualizar cabeçalho
IMasterNotesSlide masterNotesSlide = pres.MasterNotesSlideManager.MasterNotesSlide;
if (null != masterNotesSlide)
{
UpdateHeaderFooterText(masterNotesSlide);
}
// Salvar apresentação
pres.Save("HeaderFooterJava.pptx", SaveFormat.Pptx);
// Método para definir o texto de Cabeçalho/Rodapé
public static void UpdateHeaderFooterText(IBaseSlide master)
{
foreach (IShape shape in master.Shapes)
{
if (shape.Placeholder != null)
{
if (shape.Placeholder.Type == PlaceholderType.Header)
{
((IAutoShape)shape).TextFrame.Text = "HI there new header";
}
}
}
}
Gerenciar cabeçalhos e rodapés em folhetos e slides de notas
Aspose.Slides for .NET oferece suporte a Header and Footer em slides de Handout e notes. Siga os passos abaixo:
- Carregue uma Presentation contendo um vídeo.
- Altere as configurações de Header and Footer para o notes master e todos os notes slides.
- Defina os marcadores de posição de Footer do slide mestre de notas e de todos os filhos como visíveis.
- Defina os marcadores de posição de Date and time do slide mestre de notas e de todos os filhos como visíveis.
- Altere as configurações de Header and Footer apenas para o primeiro notes slide.
- Defina o marcador de posição de Header do notes slide como visível.
- Defina o texto no marcador de posição de Header do notes slide.
- Defina o texto no marcador de posição de Date-time do notes slide.
- Grave o arquivo de apresentação modificado.
Trecho de código fornecido no exemplo abaixo.
using (Presentation presentation = new Presentation("presentation.pptx"))
{
// Alterar configurações de Cabeçalho e Rodapé para mestre de notas e todos os slides de notas
IMasterNotesSlide masterNotesSlide = presentation.MasterNotesSlideManager.MasterNotesSlide;
if (masterNotesSlide != null)
{
IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.HeaderFooterManager;
headerFooterManager.SetHeaderAndChildHeadersVisibility(true); // torna o slide mestre de notas e todos os marcadores de posição de Footer filhos visíveis
headerFooterManager.SetFooterAndChildFootersVisibility(true); // torna o slide mestre de notas e todos os marcadores de posição de Header filhos visíveis
headerFooterManager.SetSlideNumberAndChildSlideNumbersVisibility(true); // torna o slide mestre de notas e todos os marcadores de posição de SlideNumber filhos visíveis
headerFooterManager.SetDateTimeAndChildDateTimesVisibility(true); // torna o slide mestre de notas e todos os marcadores de posição de Date e time filhos visíveis
headerFooterManager.SetHeaderAndChildHeadersText("Header text"); // define o texto no slide mestre de notas e em todos os marcadores de posição de Header filhos
headerFooterManager.SetFooterAndChildFootersText("Footer text"); // define o texto no slide mestre de notas e em todos os marcadores de posição de Footer filhos
headerFooterManager.SetDateTimeAndChildDateTimesText("Date and time text"); // define o texto no slide mestre de notas e em todos os marcadores de posição de Date e time filhos
}
// Alterar configurações de Cabeçalho e Rodapé somente para o primeiro slide de notas
INotesSlide notesSlide = presentation.Slides[0].NotesSlideManager.NotesSlide;
if (notesSlide != null)
{
INotesSlideHeaderFooterManager headerFooterManager = notesSlide.HeaderFooterManager;
if (!headerFooterManager.IsHeaderVisible)
headerFooterManager.SetHeaderVisibility(true); // torna visível o marcador de posição Header deste slide de notas
if (!headerFooterManager.IsFooterVisible)
headerFooterManager.SetFooterVisibility(true); // torna visível o marcador de posição Footer deste slide de notas
if (!headerFooterManager.IsSlideNumberVisible)
headerFooterManager.SetSlideNumberVisibility(true); // torna visível o marcador de posição SlideNumber deste slide de notas
if (!headerFooterManager.IsDateTimeVisible)
headerFooterManager.SetDateTimeVisibility(true); // torna visível o marcador de posição Date-time deste slide de notas
headerFooterManager.SetHeaderText("New header text"); // define o texto no marcador de posição Header do slide de notas
headerFooterManager.SetFooterText("New footer text"); // define o texto no marcador de posição Footer do slide de notas
headerFooterManager.SetDateTimeText("New date and time text"); // define o texto no marcador de posição Date-time do slide de notas
}
presentation.Save("testresult.pptx",SaveFormat.Pptx);
}
}
Perguntas frequentes
Posso adicionar um “cabeçalho” aos slides normais?
No PowerPoint, “Header” existe apenas para notes e Handout; nos slides normais, os elementos suportados são o Footer, Date/Time e SlideNumber. No Aspose.Slides isso corresponde às mesmas limitações: header apenas para Notes/Handout, e nos slides—Footer/DateTime/SlideNumber.
E se o layout não contiver uma área de rodapé—posso “ativar” sua visibilidade?
Sim. Verifique a visibilidade através do gerenciador de header/footer e habilite-a, se necessário. Esses indicadores e métodos da API foram projetados para casos em que o placeholder está ausente ou oculto.
Como faço o número do slide começar a partir de um valor diferente de 1?
Defina o first slide number da apresentação; depois disso, 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 comuns da apresentação. Ou seja, se os elementos estiverem visíveis nos slides/notes pages, também aparecerão no formato de saída junto com o restante do conteúdo.