Edite la presentación PPT/PPTX usando .NET API

Los formatos de archivos de presentación más comunes y utilizados son PPT, PPTX y ODP. Los famosos Microsoft PowerPoint, OpenOffice Impress y Apple Keynote soportan estos formatos y normalmente utilizamos estos formatos para realizar presentaciones espectaculares. Como desarrollador, podemos editar presentaciones en nuestras aplicaciones mediante programación. En este artículo, discutiremos cómo editar presentaciones PPT/PPTX en C# usando la API .NET para editar presentaciones.

Los siguientes son los temas tratados brevemente en este artículo:

API .NET para edición y automatización de presentaciones

Ahora, usaremos GroupDocs.Editor for .NET en los siguientes ejemplos de C#. Es la API de edición de presentaciones y permite a los desarrolladores cargar, editar y guardar las presentaciones editadas en otros formatos como PPT, PPTX, PDF. Además de los formatos de presentación, la API admite la edición de documentos de procesamiento de textos, hojas de cálculo y formatos HTML, XML, JSON, TXT, TSV y CSV.

Descargue las DLL o el instalador MSI desde la sección de descargas o instale la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Editor

Editar presentaciones PPTX/PPTX en C#

Justo después de configurar la API, puede pasar rápidamente a editar las diapositivas de su presentación. Los siguientes pasos le permitirán editar la presentación de PPT/PPTX y otros formatos compatibles.

  • Cargue la presentación.
  • Edite usando las opciones disponibles.
  • Guarde la presentación editada.

Cargue la presentación PPT/PPTX

En primer lugar, cargue la presentación proporcionando la ruta del archivo de presentación y la contraseña, si la presentación está protegida.

// Load Presentation
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // Load Presentation
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";
}

Edite las diapositivas de la presentación PPT/PPTX

Después de cargar, puede editar la presentación cargada según los requisitos. Aquí estoy reemplazando todas las apariciones de la palabra “documentos” con la “presentación” en una presentación PPTX usando el siguiente código C#.

// 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");       
    }
}

Guarde la presentación de PowerPoint editada con Opciones

Por último, mientras guarda el contenido de la presentación editado, puede configurar varias opciones. Estas opciones incluyen; establecer contraseña, configuración de formato de salida. Configuro las opciones anteriores en el código que se menciona a continuación y guardo la presentación editada como un archivo PPTX protegido con contraseña.

// 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 mayor comodidad, aquí está el ejemplo completo de C# que se explica anteriormente y edita la presentación de PowerPoint y luego la guarda en formato PPTX.

// Edite presentaciones PPT/PPTX en C# usando la API de automatización y edición de presentaciones de GroupDocs
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // Cargar presentación
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";

    // Editar presentación
    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");
            
            // Guardar presentación
            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);
                }
            }
        }
    }
}

La siguiente es la presentación de salida en la que todas las ocurrencias se reemplazan usando el código anterior.

presentación pptx editada usando API de edición

Presentación de salida: las apariciones de ‘documentos’ se reemplazan por ‘presentación’

Conclusión

Para concluir, analizamos la edición de diapositivas de presentaciones en C# utilizando la API de edición de presentaciones para aplicaciones .NET. Puede utilizar la API con editores WYSIWYG para la edición visual de sus presentaciones. Después de eso, puedes seguir adelante y crear tu propio editor de presentaciones. De manera similar, también puede integrar la función de edición dentro de su aplicación .NET.

Para obtener más detalles, opciones y ejemplos, puede visitar la documentación y el repositorio GitHub. Para más consultas, comuníquese con el soporte en el foro.

Artículos relacionados