Os formatos de arquivo de apresentação mais comuns e amplamente utilizados são PPT, PPTX e ODP. Os famosos Microsoft PowerPoint, OpenOffice Impress e Apple Keynote suportam estes formatos e normalmente usamos estes formatos para fazer apresentações espetaculares. Como desenvolvedores, podemos editar apresentações em nossos aplicativos de forma programática. Neste artigo, discutiremos como editar apresentações PPT/PPTX em C# usando a API .NET para edição de apresentações.
A seguir estão os tópicos discutidos brevemente neste artigo:
API .NET para edição e automação de apresentações
Agora, usaremos o GroupDocs.Editor for .NET nos exemplos C# abaixo. É a API de edição de apresentações e permite aos desenvolvedores carregar, editar e salvar as apresentações editadas em outros formatos como PPT, PPTX, PDF. Além dos formatos de apresentação, a API suporta a edição de documentos de processamento de texto, planilhas, formatos HTML, XML, JSON, TXT, TSV e CSV.
Baixe as DLLs ou o instalador MSI na seção de downloads ou instale a API em seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Editor
Editar apresentações PPTX/PPTX em C#
Logo após configurar a API, você pode avançar rapidamente para a edição dos slides da sua apresentação. As etapas a seguir permitirão editar a apresentação de PPT/PPTX e outros formatos suportados.
- Carregue a apresentação.
- Edite usando as opções disponíveis.
- Salve a apresentação editada.
Carregar a apresentação PPT/PPTX
Primeiramente, carregue a apresentação fornecendo o caminho do arquivo da apresentação e a senha, caso a apresentação esteja protegida.
// Load Presentation
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
// Load Presentation
Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.Password = "P@$$w0Rd";
}
Edite os slides da apresentação PPT/PPTX
Após o carregamento, você pode editar a apresentação carregada conforme a necessidade. Aqui estou substituindo todas as ocorrências da palavra “documentos” pela “apresentação” em uma apresentação PPTX usando o código C# abaixo.
// Edit Presentation
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
{
Options.PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.SlideNumber = 0; // 1st slide
editOptions.ShowHiddenSlides = true;
using (EditableDocument beforeEdit = editor.Edit(editOptions))
{
string originalContent = beforeEdit.GetContent();
List<IHtmlResource> allResources = beforeEdit.AllResources;
string editedContent = originalContent.Replace("documents", "presentation");
}
}
Salve a apresentação editada do PowerPoint com opções
Por último, ao salvar o conteúdo editado da apresentação, você pode definir ainda mais várias opções. Essas opções incluem; definir senha e configurações de formato de saída. Defino as opções acima no código mencionado abaixo e salvo a apresentação editada como um arquivo PPTX protegido por senha.
// Save Presentation
using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.Password = "new_pa$$word";
using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
}
Código Completo
Para maior comodidade, aqui está o exemplo completo de C# explicado acima e ele edita a apresentação do PowerPoint e a salva no formato PPTX.
// Edite apresentações PPT/PPTX em C# usando a API de automação e edição de apresentações GroupDocs
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
// Carregar apresentação
Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.Password = "P@$$w0Rd";
// Editar apresentação
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
{
Options.PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.SlideNumber = 0; // 1st slide
editOptions.ShowHiddenSlides = true;
using (EditableDocument beforeEdit = editor.Edit(editOptions))
{
string originalContent = beforeEdit.GetContent();
List<IHtmlResource> allResources = beforeEdit.AllResources;
string editedContent = originalContent.Replace("documents", "presentation");
// Salvar apresentação
using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.Password = "new_pa$$word";
using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
}
}
}
}
A seguir está a apresentação de saída na qual todas as ocorrências são substituídas usando o código acima.
Conclusão
Para concluir, discutimos a edição de slides de apresentações em C# usando API de edição de apresentações para aplicativos .NET. Você pode usar a API com editores WYSIWYG para edição visual de suas apresentações. Depois disso, você pode prosseguir para construir seu próprio editor de apresentações. Da mesma forma, você também pode integrar o recurso de edição em seu aplicativo .NET.
Para mais detalhes, opções e exemplos, você pode visitar a documentação e o repositório GitHub. Para mais dúvidas, entre em contato com o suporte no fórum.