Recuperar e Atualizar Informações da Apresentação em C++
Visão geral
Este artigo mostra como inspecionar informações de apresentação no Aspose.Slides. Ele explica como determinar o formato atual de uma apresentação sem carregar o arquivo completo, ler suas propriedades do documento e atualizar essas propriedades quando necessário.
Os exemplos são baseados nas APIs PresentationInfo e DocumentProperties e demonstram operações típicas para trabalhar com metadados de apresentação.
Verificar o formato de uma apresentação
Antes de trabalhar em uma apresentação, você pode querer descobrir em qual formato (PPT, PPTX, ODP e outros) a apresentação está no momento.
Você pode verificar o formato de uma apresentação sem carregá‑la. Veja este código C++:
auto info = PresentationFactory::get_Instance()->GetPresentationInfo(u"pres.pptx");
// PPTX
Console::WriteLine(ObjectExt::ToString(info->get_LoadFormat()));
auto info2 = PresentationFactory::get_Instance()->GetPresentationInfo(u"pres.ppt");
// PPT
Console::WriteLine(ObjectExt::ToString(info2->get_LoadFormat()));
auto info3 = PresentationFactory::get_Instance()->GetPresentationInfo(u"pres.odp");
// ODP
Console::WriteLine(ObjectExt::ToString(info3->get_LoadFormat()));
Obter propriedades da apresentação
Este código C++ mostra como obter as propriedades da apresentação (informações sobre a apresentação):
auto info = PresentationFactory::get_Instance()->GetPresentationInfo(u"pres.pptx");
auto props = info->ReadDocumentProperties();
Console::WriteLine(ObjectExt::ToString(props->get_CreatedTime()));
Console::WriteLine(props->get_Subject());
Console::WriteLine(props->get_Title());
// ...
Atualizar propriedades da apresentação
O Aspose.Slides fornece o método PresentationInfo::UpdateDocumentProperties que permite fazer alterações nas propriedades da apresentação.
Suponha que temos uma apresentação PowerPoint com as propriedades do documento mostradas abaixo.

Este exemplo de código mostra como editar algumas propriedades da apresentação:
auto fileName = u"sample.pptx";
auto info = PresentationFactory::get_Instance()->GetPresentationInfo(fileName);
auto properties = info->ReadDocumentProperties();
properties->set_Title(u"My title");
properties->set_LastSavedTime(DateTime::get_Now());
info->UpdateDocumentProperties(properties);
info->WriteBindedPresentation(fileName);
Os resultados da alteração das propriedades do documento são mostrados abaixo.

Links úteis
Para obter mais informações sobre uma apresentação e seus atributos de segurança, você pode achar estes links úteis:
- Verificando se uma apresentação está criptografada
- Verificando se uma apresentação está protegida contra gravação (somente leitura)
- Verificando se uma apresentação está protegida por senha antes de carregá‑la
- Confirmando a senha usada para proteger uma apresentação.
FAQ
Como posso verificar se as fontes estão incorporadas e quais são?
Procure por informações de fonte incorporada no nível da apresentação e, em seguida, compare essas entradas com o conjunto de fontes realmente usadas no conteúdo para identificar quais fontes são críticas para a renderização.
Como posso rapidamente saber se o arquivo tem slides ocultos e quantos?
Percorra a coleção de slides e inspecione o indicador de visibilidade de cada slide.
Posso detectar se um tamanho e orientação de slide personalizados são usados e se diferem dos padrões?
Sim. Compare o atual tamanho e orientação do slide com as predefinições padrão; isso ajuda a antecipar o comportamento para impressão e exportação.
Existe uma maneira rápida de ver se os gráficos referenciam fontes de dados externas?
Sim. Percorra todos os gráficos, verifique sua fonte de dados e observe se os dados são internos ou baseados em link, incluindo quaisquer links quebrados.
Como posso avaliar slides ‘pesados’ que podem desacelerar a renderização ou a exportação para PDF?
Para cada slide, contabilize o número de objetos e procure por imagens grandes, transparência, sombras, animações e multimídia; atribua uma pontuação aproximada de complexidade para sinalizar possíveis pontos críticos de desempenho.