Бесплатная библиотека C# .NET для генерации PowerPoint PPTX из шаблона

Открытый C# .NET PPTX API позволяет динамически генерировать презентации PowerPoint (.pptx) из шаблонов. Заменяйте текст или изображения, добавляйте/удаляйте или клонируйте слайды в приложениях C#.

Что такое PPTXTemplater?

Устали вручную создавать и обновлять бесчисленные презентации PowerPoint? Если вашему приложению нужно генерировать динамические, основанные на данных файлы .pptx, делать это программно традиционно было сложной и раздражающей задачей. Ручное манипулирование XML внутри контейнера PPTX — настоящий кошмар, и часто разработчики прибегают к громоздким методам, таким как копирование слайдов или использование трудноуправляемых COM‑объектов. Что если вы сможете создать красивый шаблон непосредственно в PowerPoint, а затем программно заполнить его данными с помощью простой, лёгкой и полностью программной библиотеки .NET? Представляем PPTXTemplater — гениальный проект с открытым исходным кодом, который меняет правила игры в автоматизации PowerPoint.

PPTXTemplater — это библиотека C#, позволяющая разработчикам программно генерировать и управлять файлами PowerPoint (.pptx) на основе заранее определённых шаблонов. Она использует PPTXTemplater, предоставляя более высокий уровень абстракции, упрощающий сложную задачу работы с документами PowerPoint. Основная идея заключается в создании шаблона с заполнителями, а затем использовании PPTXTemplater для заполнения этих заполнителей вашими данными, что делает её идеальным решением для создания отчётов, сертификатов, предложений и многого другого.

Previous Next

Начало работы с PPTXTemplater

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

Установите PPTXTemplater с GitHub

 git clone https://github.com/tkrotoff/PptxTemplater.git

Генерация PPTX файлов на основе шаблонов с помощью C#

Основа PptxTemplater — его шаблонный подход. Вы начинаете с создания стандартной презентации PowerPoint, которая будет служить вашим шаблоном. В этом шаблоне вы можете определить заполнители для динамического контента, используя простой и интуитивный синтаксис, обычно {{placeholder_name}}. Это позволяет разрабатывать слайды непосредственно в PowerPoint, предоставляя полный контроль над визуальными аспектами вашей презентации. Ниже приведён простой пример, показывающий, как создать шаблон PowerPoint с двумя слайдами с помощью библиотеки C#?

Как создать шаблон PowerPoint с двумя слайдами с помощью библиотеки C#?

const string srcFileName = "template.pptx";
const string dstFileName = "final.pptx";
File.Delete(dstFileName);
File.Copy(srcFileName, dstFileName);

Pptx pptx = new Pptx(dstFileName, FileAccess.ReadWrite);
int nbSlides = pptx.SlidesCount();
Assert.AreEqual(2, nbSlides);

// First slide
{
    PptxSlide slide = pptx.GetSlide(0);
    slide.ReplaceTag("{{hello}}", "HELLO HOW ARE YOU?", PptxSlide.ReplacementType.Global);
    slide.ReplaceTag("{{bonjour}}", "BONJOUR TOUT LE MONDE", PptxSlide.ReplacementType.Global);
    slide.ReplaceTag("{{hola}}", "HOLA MAMA QUE TAL?", PptxSlide.ReplacementType.Global);
}

// Second slide
{
    PptxSlide slide = pptx.GetSlide(1);
    slide.ReplaceTag("{{hello}}", "H", PptxSlide.ReplacementType.Global);
    slide.ReplaceTag("{{bonjour}}", "B", PptxSlide.ReplacementType.Global);
    slide.ReplaceTag("{{hola}}", "H", PptxSlide.ReplacementType.Global);
}

Замена текста в презентации PPTX с помощью C#

Одна из самых фундаментальных функций PptxTemplater — возможность заменять текстовые заполнители вашими данными. Это чрезвычайно полезно для персонализации презентаций с именами, датами, числами и другой текстовой информацией. Ниже приведён простой пример, показывающий, как разработчики программного обеспечения могут заменять текст внутри презентации PPTX в приложениях C# .NET.

Как заменить текст в презентации PPTX с использованием библиотеки C#?

using PptxTemplater;

// Load the template
using (var presentation = new Presentation("template.pptx"))
{
    // Define the data
    var data = new Dictionary
    {
        { "name", "John Doe" },
        { "date", DateTime.Now.ToShortDateString() }
    };

    // Fill the template
    presentation.Fill(data);

    // Save the new presentation
    presentation.SaveAs("output.pptx");
}

Замена изображений в презентации PPTX с помощью C#

Библиотека с открытым исходным кодом PptxTemplater не ограничивается только текстом. Разработчики программного обеспечения также могут заменять изображения в своих шаблонах всего несколькими строками кода. Это особенно полезно при создании каталогов продукции, бейджей сотрудников или любой другой презентации, требующей динамических изображений. Ниже приведён простой пример, показывающий, как заменять изображения в презентациях PPTX. Чтобы заменить изображение, сначала нужно добавить в шаблон изображение‑заполнитель и присвоить ему конкретное имя (например, "photo1").

Как заменить текст в презентации PPTX с использованием библиотеки C#?

// Assuming you have a slide with an image named "photo1"
var slide = presentation.Slides[0];
slide.ReplacePicture("photo1", "new_image.png");

Добавление, удаление или клонирование слайда с помощью C#

Библиотека с открытым исходным кодом PptxTemplater предоставляет детальный контроль над слайдами вашей презентации. Вы можете клонировать существующие слайды для создания динамических разделов или удалять слайды, которые не нужны в зависимости от ваших данных. Кроме того, возможно добавлять новые слайды и удалять нежелательные. Ниже приведён пример, показывающий, как клонировать или удалять слайд в приложениях на C#.

Как клонировать или удалить слайд в презентации PPTX с помощью библиотеки C#?

/// Clone a slide
var newSlide = presentation.CloneSlide(0);

// Remove a slide
presentation.RemoveSlide(1);
 Русский