Remover Slides de Apresentações em PHP
Introdução
Se um slide (ou seu conteúdo) se tornar redundante, você pode excluí-lo. Aspose.Slides fornece a classe Presentation que encapsula SlideCollection, que é um repositório para todos os slides de uma apresentação. Usando ponteiros (referência ou índice) para um objeto Slide conhecido, você pode especificar o slide que deseja remover.
Remover um Slide por Referência
- Crie uma instância da classe Presentation.
- Obtenha uma referência do slide que deseja remover através de seu ID ou Índice.
- Remova o slide referenciado da apresentação.
- Salve a apresentação modificada.
Este código PHP mostra como remover um slide por meio de sua referência:
# Instanciar um objeto Presentation que representa um arquivo de apresentação
$pres = new Presentation("demo.pptx");
try {
# Acessa um slide através de seu índice na coleção de slides
$slide = $pres->getSlides()->get_Item(0);
# Remove um slide através de sua referência
$pres->getSlides()->remove($slide);
# Salva a apresentação modificada
$pres->save("modified.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Remover um Slide por Índice
- Crie uma instância da classe Presentation.
- Remova o slide da apresentação através de sua posição de índice.
- Salve a apresentação modificada.
Este código PHP mostra como remover um slide por meio de seu índice:
# Instancia um objeto Presentation que representa um arquivo de apresentação
$pres = new Presentation("demo.pptx");
try {
# Remove um slide através do índice do slide
$pres->getSlides()->removeAt(0);
# Salva a apresentação modificada
$pres->save("modified.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Remover Slides de Layout Não Utilizados
Aspose.Slides fornece o método removeUnusedLayoutSlides (da classe Compress) para permitir que você exclua slides de layout indesejados e não usados. Este código PHP mostra como remover um slide de layout de uma apresentação PowerPoint:
$pres = new Presentation("pres.pptx");
try {
Compress->removeUnusedLayoutSlides($pres);
$pres->save("pres-out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Remover Slides Mestres Não Utilizados
Aspose.Slides fornece o método removeUnusedMasterSlides (da classe Compress) para permitir que você exclua slides mestres indesejados e não usados. Este código PHP mostra como remover um slide mestre de uma apresentação PowerPoint:
$pres = new Presentation("pres.pptx");
try {
Compress->removeUnusedMasterSlides($pres);
$pres->save("pres-out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
O que acontece com os índices dos slides após eu excluir um slide?
Após a exclusão, a collection reindexa: cada slide subsequente desloca-se uma posição para a esquerda, de modo que os números de índice anteriores ficam desatualizados. Se precisar de uma referência estável, use o ID persistente de cada slide em vez de seu índice.
O ID de um slide é diferente do seu índice e ele muda quando slides vizinhos são excluídos?
Sim. O índice é a posição do slide e mudará quando slides forem adicionados ou removidos. O ID do slide é um identificador persistente e não muda quando outros slides são excluídos.
Como a exclusão de um slide afeta as seções de slides?
Se o slide pertencia a uma seção, essa seção simplesmente conterá um slide a menos. A estrutura da seção permanece; se uma seção ficar vazia, você pode remover ou reorganizar seções conforme necessário.
O que acontece com as notas e comentários anexados a um slide quando ele é excluído?
Notes e comments estão vinculados a esse slide específico e são removidos junto com ele. O conteúdo de outros slides não é afetado.
Como a exclusão de slides difere da limpeza de layouts/mestres não utilizados?
A exclusão remove slides normais específicos do conjunto. A limpeza de layouts/mestres não utilizados remove slides de layout ou mestres que não são referenciados por nada, reduzindo o tamanho do arquivo sem alterar o conteúdo dos slides restantes. Essas ações são complementares: normalmente exclui-se primeiro, depois faz-se a limpeza.