Бесплатная библиотека 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 для заполнения этих заполнителей вашими данными, что делает её идеальным решением для создания отчётов, сертификатов, предложений и многого другого.
Начало работы с 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);