Редактировать презентацию PPT/PPTX с помощью .NET API

Наиболее распространенными и широко используемыми форматами файлов презентаций являются PPT, PPTX и ODP. Знаменитые Microsoft PowerPoint, OpenOffice Impress и Apple Keynote поддерживают эти форматы, и мы обычно используем их для создания впечатляющих презентаций. Как разработчик, мы можем редактировать презентации в наших приложениях программным способом. В этой статье мы обсудим, как редактировать презентации PPT/PPTX на C#, используя API .NET для редактирования презентаций.

Ниже приведены темы, кратко обсуждаемые в этой статье:

.NET API для редактирования и автоматизации презентаций

Теперь мы будем использовать GroupDocs.Editor for .NET в приведенных ниже примерах C#. Это API редактирования презентаций, который позволяет разработчикам загружать, редактировать и сохранять отредактированные презентации в других форматах, таких как PPT, PPTX, PDF. Помимо форматов презентаций, API поддерживает редактирование текстовых документов, электронных таблиц, форматов HTML, XML, JSON, TXT, TSV и CSV.

Загрузите DLL или установщик MSI из раздела загрузок или установите API в свое .NET-приложение через NuGet.

PM> Install-Package GroupDocs.Editor

Редактирование презентаций PPTX/PPTX на C#

Сразу после настройки API вы можете быстро перейти к редактированию слайдов презентации. Следующие шаги позволят вам редактировать презентацию PPT/PPTX и других поддерживаемых форматов.

  • Загрузите презентацию.
  • Отредактируйте, используя доступные параметры.
  • Сохраните отредактированную презентацию.

Загрузите презентацию PPT/PPTX

Сначала загрузите презентацию, указав путь к файлу презентации и пароль, если презентация защищена.

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

Редактирование слайдов презентации PPT/PPTX

После загрузки вы можете редактировать загруженную презентацию по своему усмотрению. Здесь я заменяю все вхождения слова «документы» на «презентацию» в презентации PPTX, используя приведенный ниже код 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");       
    }
}

Сохраните отредактированную презентацию PowerPoint с параметрами.

Наконец, сохраняя отредактированное содержимое презентации, вы можете дополнительно установить различные параметры. Эти варианты включают в себя; установить пароль, настройки выходного формата. Я устанавливаю вышеуказанные параметры в приведенном ниже коде и сохраняю отредактированную презентацию как файл PPTX, защищенный паролем.

// 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#, описанный выше. Он редактирует презентацию PowerPoint, а затем сохраняет ее в формате PPTX.

// Редактируйте презентации PPT/PPTX на C# с помощью API редактирования и автоматизации презентаций GroupDocs.
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
    // Загрузить презентацию
    Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
    loadOptions.Password = "P@$$w0Rd";

    // Редактировать презентацию
    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");
            
            // Сохранить презентацию
            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);
                }
            }
        }
    }
}

Ниже приводится выходное представление, в котором все вхождения заменяются с использованием приведенного выше кода.

отредактированная презентация pptx с использованием API редактирования

Выходная презентация — вхождения «документов» заменяются на «презентацию».

Заключение

В заключение мы обсудили редактирование слайдов презентаций на C# с использованием API редактирования презентаций для приложений .NET. Вы можете использовать API с редакторами WYSIWYG для визуального редактирования ваших презентаций. После этого вы можете приступить к созданию собственного редактора презентаций. Аналогичным образом вы также можете интегрировать функцию редактирования в свое приложение .NET.

Для получения более подробной информации, опций и примеров вы можете посетить документацию и репозиторий GitHub. По дополнительным вопросам обращайтесь в службу поддержки на форуме.

Статьи по Теме