Editar apresentação PPT/PPTX usando API .NET

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.

apresentação pptx editada usando API de edição

Apresentação de saída - ocorrências de ‘documentos’ são substituídas por ‘apresentação’

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.

Artigos relacionados