一个可操作PPT的.Net开源库

推荐一个简单易用的.NET库,使得可以方便处理PowerPoint演示文稿。

01 项目简介

ShapeCrawler 是一个专为处理 PowerPoint 演示文稿而设计的 .NET 库。这个库为开发者提供了一组简单易用的 API,以便操作 PowerPoint (.pptx) 文件中的各种元素。

ShapeCrawler 库的特点包括:

**1、无需安装 Microsoft Office:**是一个独立的库,不需要在开发或运行环境中安装 Microsoft Office。

**2、基于 Open XML SDK:**基于 Open XML SDK 的基础上,封装的提供更高层次的抽象。Open XML SDK 是一个开源库,提供了Office 文件格式(如 .docx、.xlsx、.pptx 等)的底层API操作。

**3、简单易用:**提供了一个简化的对象模型,使得开发者可以轻松地遍历、查询、修改和创建 PowerPoint 演示文稿中的形状。你可以轻松地获取形状的属性(如位置、大小、填充颜色等),以及修改它们。

**4、支持类型多:**支持包括文本框、图形、图像、图表等操作。

02 使用方法

1、简单示例

// 打开PPT
var pres = new Presentation("xxx.pptx");
var shapes = pres.Slides[0].Shapes;
// 获取PPT的数量
var shapesCount = shapes.Count;
// 获取文本
var shape = shapes.GetByName("TextBox 1");
var text = shape.TextFrame!.Text

2、设置文本框为自动适应

var pres = new Presentation("some.pptx");
var shape = pres.Slides[0].Shapes.GetByName("AutoShape 1");
var textFrame = shape.TextFrame!;

textFrame.AutofitType = AutofitType.Resize;

pres.Save();

3、替换文字

var textFrames = pres.Slides[0].TextFrames();

foreach (var textFrame in textFrames)
{
    textFrame.Text = "some text";
}

pres.Save();

4、更新图片

ar pres = new Presentation("picture.pptx");

// 获取图片控件
var picture = pres.Slides[0].Shapes.GetByName<IPicture>("Picture 1");

// 更改图片
picture.Image.Update("new-image.png");

// 获取图片的MIME
var mimeType = picture.Image.MIME;

pres.Save();

5、表格操作

var pres = new Presentation("some-pptx");
var shapeCollection = pres.Slides[0].Shapes;

shapeCollection.AddTable(x: 50, y: 100, columnsCount: 3, rowsCount: 2);
var addedTable = (ITable)shapeCollection.Last();
var cell = addedTable[0, 0];
cell.TextFrame.Text = "Hi, Table!";

pres.Save();

03 项目地址

https://github.com/ShapeCrawler/ShapeCrawler

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

我是编程乐趣,一个.Net开发经验老程序员,欢迎“关注”我,每天为你分享开源项目和编程知识。
也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,点击加入https://bbs.csdn.net/topics/613465368

- End -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐趣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值