1. 产品
  2.   介绍
  3.   .NET
  4.   PPTXTemplater
 
  

免费 C# .NET 库,可从模板生成 PowerPoint PPTX

开源 C# .NET PPTX API 可从模板动态生成 PowerPoint 演示文稿(.pptx)。在 C# 应用中替换文本或图像,添加/删除或克隆幻灯片。

什么是 PPTXTemplater?

厌倦了手动创建和更新无数 PowerPoint 演示文稿吗?如果您的应用程序需要生成动态、数据驱动的 .pptx 文件,以前以编程方式实现这一点一直是一个复杂且令人沮丧的任务。手动操作 PPTX 容器内的 XML 简直是噩梦,开发者常常不得不采用拷贝幻灯片或使用难以控制的 COM 对象等笨拙方法。假如您可以直接在 PowerPoint 中设计一个精美的模板,然后通过一个简单、轻量且纯粹的 .NET 库以编程方式填充数据,会怎样?这就是 PPTXTemplater——一个巧妙的开源项目,彻底改变了 PowerPoint 自动化的游戏规则。

PPTXTemplater 是一个 C# 库,使软件开发人员能够基于预定义模板以编程方式生成和管理 PowerPoint(.pptx)文件。它利用 PPTXTemplater,提供更高级的抽象,简化了操作 PowerPoint 文档的复杂任务。核心思想是创建带有占位符的模板,然后使用 PPTXTemplater 用您的数据填充这些占位符,使其成为生成报告、证书、提案等的理想解决方案。

Previous Next

PPTXTemplater 入门指南

推荐的 PPTXTemplater 安装方式是使用 GitHub。请使用以下命令进行顺利安装。

从 GitHub 安装 PPTXTemplater

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

通过 C# 基于模板的 PPTX 文件生成

PptxTemplater 的基础是其基于模板的方法。您首先创建一个标准的 PowerPoint 演示文稿作为模板。在此模板中,您可以使用简单直观的语法(通常为 {{placeholder_name}})定义动态内容的占位符。这使您能够直接在 PowerPoint 中设计幻灯片,完全控制演示文稿的视觉效果。下面是一个简单示例,展示如何通过 C# 库创建包含两张幻灯片的 PowerPoint 模板?

如何使用 C# 库创建包含两张幻灯片的 PowerPoint 模板?

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

通过 C# 在 PPTX 演示文稿中替换文本

PptxTemplater 最基本的功能之一是能够用您的数据替换文本占位符。这对于使用姓名、日期、数字和其他文本信息个性化演示文稿非常有用。下面是一个简单示例,展示软件开发人员如何在 C# .NET 应用程序中替换 PPTX 演示文稿中的文本。

如何使用 C# 库替换 PPTX 演示文稿中的文本?

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

通过 C# 在 PPTX 演示文稿中替换图像

开源的 PptxTemplater 库不仅限于文本。软件开发人员也可以仅用几行代码替换模板中的图像。这对于生成产品目录、员工徽章或任何需要动态图像的演示文稿特别有用。下面是一个简单示例,展示如何在 PPTX 演示文稿中替换图像。要替换图像,首先需要在模板中添加占位图像并为其指定特定名称(例如 "photo1")。

如何使用 C# 库替换 PPTX 演示文稿中的文本?

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

通过 C# 添加、删除或克隆幻灯片

开源的 PptxTemplater 库让您对演示文稿中的幻灯片拥有细粒度的控制。您可以克隆现有幻灯片以创建动态章节,或根据数据删除不需要的幻灯片。此外,还可以添加新幻灯片并删除不需要的幻灯片。下面的示例展示了如何在 C# 应用程序中克隆或删除幻灯片。

如何使用 C# 库克隆或删除 PPTX 演示文稿中的幻灯片?

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

// Remove a slide
presentation.RemoveSlide(1);
 中国人