Biblioteca C# .NET gratuita para gerar PowerPoint PPTX a partir de modelo
API PPTX C# .NET de código aberto permite gerar dinamicamente apresentações PowerPoint (.pptx) a partir de modelos. Substitua texto ou imagens, adicione/remova ou clone slides em aplicativos C#.
O que é o PPTXTemplater?
Cansado de criar e atualizar manualmente inúmeras apresentações PowerPoint? Se sua aplicação precisa gerar arquivos .pptx dinâmicos e baseados em dados, fazer isso programaticamente tem sido tradicionalmente uma tarefa complexa e frustrante. Manipular manualmente o XML dentro do contêiner PPTX é um pesadelo, e frequentemente os desenvolvedores recorrem a métodos desajeitados como copiar slides ou usar objetos COM difíceis de controlar. E se você pudesse projetar um modelo bonito diretamente no PowerPoint e então preenchê-lo programaticamente com dados usando uma biblioteca .NET simples, leve e puramente programática? Apresentamos o PPTXTemplater, um engenhoso projeto de código aberto que muda o jogo da automação do PowerPoint.
PPTXTemplater é uma biblioteca C# que capacita desenvolvedores de software a gerar e gerenciar programaticamente arquivos PowerPoint (.pptx) com base em modelos predefinidos. Ela utiliza o PPTXTemplater, oferecendo uma abstração de nível superior que simplifica a tarefa, normalmente complexa, de manipular documentos PowerPoint. A ideia central é criar um modelo com marcadores de posição e, em seguida, usar o PPTXTemplater para preenchê-los com seus dados, tornando-a uma solução ideal para gerar relatórios, certificados, propostas e muito mais.
Começando com o PPTXTemplater
A forma recomendada de instalar o PPTXTemplater é usando o GitHub. Por favor, use o comando a seguir para uma instalação tranquila.
Instale o PPTXTemplater do GitHub
git clone https://github.com/tkrotoff/PptxTemplater.gitGeração de arquivos PPTX baseados em modelo via C#
A base do PptxTemplater é sua abordagem baseada em modelos. Você começa criando uma apresentação padrão do PowerPoint que servirá como seu modelo. Neste modelo, você pode definir marcadores de posição para conteúdo dinâmico usando uma sintaxe simples e intuitiva, tipicamente {{placeholder_name}}. Isso permite que você projete seus slides diretamente no PowerPoint, dando-lhe controle total sobre os aspectos visuais da sua apresentação. Aqui está um exemplo simples que mostra como criar um modelo PowerPoint com dois slides via biblioteca C#?
Como criar um modelo PowerPoint com dois slides usando a biblioteca 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);
}
Substituição de texto em apresentação PPTX via C#
Um dos recursos mais fundamentais do PptxTemplater é sua capacidade de substituir marcadores de posição de texto pelos seus dados. Isso é extremamente útil para personalizar apresentações com nomes, datas, números e outras informações textuais. Aqui está um exemplo simples que mostra como desenvolvedores de software podem substituir texto dentro de uma apresentação PPTX em aplicações C# .NET.
Como substituir texto dentro de uma apresentação PPTX usando a biblioteca 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");
}
Substituir imagens em apresentação PPTX via C#
A biblioteca de código aberto PptxTemplater não se limita apenas a texto. Os desenvolvedores de software também podem substituir imagens dentro de seus modelos com apenas algumas linhas de código. Isso é particularmente útil para gerar catálogos de produtos, crachás de funcionários ou qualquer outra apresentação que exija imagens dinâmicas. Aqui está um exemplo simples que mostra como substituir imagens dentro de apresentações PPTX. Para substituir uma imagem, você primeiro precisa adicionar uma imagem placeholder no seu modelo e atribuir a ela um nome específico (por exemplo, "photo1").
Como substituir texto dentro de uma apresentação PPTX usando a biblioteca C#?
// Assuming you have a slide with an image named "photo1"
var slide = presentation.Slides[0];
slide.ReplacePicture("photo1", "new_image.png");
Adicionar, remover ou clonar slide via C#
A biblioteca de código aberto PptxTemplater oferece controle granular sobre os slides da sua apresentação. Você pode clonar slides existentes para criar seções dinâmicas ou remover slides que não são necessários com base nos seus dados. Além disso, também é possível adicionar novos slides e remover os indesejados. O exemplo a seguir mostra como clonar ou remover um slide em aplicações C#.
Como clonar ou remover um slide dentro de uma apresentação PPTX via biblioteca C#?
/// Clone a slide
var newSlide = presentation.CloneSlide(0);
// Remove a slide
presentation.RemoveSlide(1);