DevExpress专注于为 .NET、JavaScript、VCL 等多种平台提供高性能 UI 控件、报表工具、数据可视化组件及开发框架,产品覆盖桌面、Web、移动及跨平台应用开发领域。凭借稳定的性能、丰富的功能与优质的技术支持,DevExpress 的解决方案已广泛应用于金融、制造、医疗、能源、政府及教育等行业,帮助开发者更高效地构建现代化应用程序。
DevExpress官方宣布全新 .NET PowerPoint Presentation API 库的 Community Tech Preview(CTP)版现已发布(需使用 v25.1.4 及以上版本),该库旨在帮助您在 .NET 应用中创建、读取、编辑、转换、合并、拆分以及打印 Microsoft PowerPoint 文件。
在本文中,我将介绍该 CTP 版的关键功能,分享产品架构的见解,并演示如何通过代码构建一个演示文稿管理应用程序。
注意:DevExpress Presentation API 库目前为 Community Technology Preview(CTP)版本。

DevExpress技术交流群11:749942875 欢迎一起进群讨论
Presentation API概览
跨平台PowerPoint文件处理
DevExpress Presentation API 构建于 .NET 之上,开箱即用地支持广泛的平台与操作系统。无论您在开发传统桌面应用、Web 后端,还是跨平台解决方案,都可以无缝集成 PowerPoint 文件处理能力,无需依赖 Microsoft Office 或 PowerPoint 的安装环境。
支持的框架、操作系统和环境包括:
- NET 8/9, .NET Framework 4.6.2+
- Windows, Linux, macOS
- Azure, AWS, Docker

支持的文件格式与文档元素
当前版本(v25.1.x)的 PowerPoint Presentation API 库支持导入与保存 PPTX 格式演示文稿文件,同时支持将文件打印或导出为 PDF。
该库提供了一整套 API 和设置,帮助您以编程方式创建/管理演示文稿元素——包括:
- 幻灯片、幻灯片布局、母版
- 幻灯片备注、备注母版
- 形状、连接器、文本框、图片
- 形状文本、段落、占位符
- 项目符号和编号列表
- 演示文稿页眉与页脚
- 内置与自定义文档属性
- 演示文稿视图属性
代码示例 — 将演示文稿转换为 PDF
using DevExpress.Docs.Presentation; //... // Load a presentation Presentation presentation = new Presentation(File.ReadAllBytes("mypresentation.pptx")); // Export to PDF presentation.ExportToPdf(new FileStream(@"D:\exported-document.pdf", FileMode.Create));
核心功能 — 程序化管理演示文稿
DevExpress Presentation API 让您能够以编程方式生成及组织演示内容,支持以下使用场景:
- 添加、复制、重新排序、调整大小、隐藏或删除幻灯片
- 创建、自定义及应用不同的幻灯片布局
- 访问并更新幻灯片母版内容
- 合并多个演示文稿,或将幻灯片从一个文档复制到另一个文档
- 将一个演示文稿按幻灯片拆分成多个演示文稿
- 提取或指定特定段落、形状、幻灯片、演讲者备注或整个演示文稿的文本
- 格式化文本、段落、形状及幻灯片背景
- 管理演示文稿元数据
代码示例 — 合并两个演示文稿
using DevExpress.Docs.Presentation; //... // Load presentations Presentation presentation1 = new Presentation(File.ReadAllBytes("presentation1.pptx")); Presentation presentation2 = new Presentation(File.ReadAllBytes("presentation2.pptx")); // Merge presentation slides foreach (Slide slide in presentation2.Slides) { presentation1.Slides.Add(slide); } // Save the merged document to the PPTX file FileStream outputStream = new FileStream(@"D:\merged_presentation.pptx", FileMode.Create); presentation.SaveDocument(outputStream);

面向对象的文档模型
与依赖接口型文档模型的其他 PowerPoint 处理库不同,DevExpress Presentation API 库采用了具体的面向对象模型设计。这种架构选择旨在提供更清晰、更灵活且更便于开发者使用的体验。
使用DevExpress Presentation API库,您可以直接使用直观的类——Slide、Shape、TextParagraph等。在向表示中添加新元素之前,可以初始化文档对象并配置所有必要的设置,这为基于流的文档生成提供了一种自然和结构化的方法。
此外,您可以跨多个幻灯片和演示文稿重用文档元素和配置设置。例如,您可以将相同的幻灯片添加到多个演示文稿中,或者对多个幻灯片或形状应用相同的格式(如下面的示例所示)。
// Create and apply the custom background to multiple slides in two different presentations SolidFill fill = new SolidFill(Color.LightCyan); CustomSlideBackground background = new CustomSlideBackground(fill); presentation1.Slides[0].Background = background; presentation1.Slides[1].Background = background; presentation2.Slides[0].Background = background;
该方法允许您用更少的代码对表示文档进行更改,同时如果需要唯一的实例来防止意外更改,可以创建文档元素和设置单独的复制。
开始使用 PowerPoint Presentation API
若要在项目中使用 DevExpress Presentation API,请按以下步骤操作:
1. 从 Nuget.org 安装 DevExpress.Docs.Presentation NuGet 包(版本 v25.1.4 及以上):
dotnet add package DevExpress.Docs.Presentation --version 25.1.4
(也可通过 DevExpress 本地或个人 NuGet 源安装 Office File API 组件)
2. 在项目文件中添加 DevExpress.Docs.Presentation 命名空间。
3. 创建 Presentation 实例:
- 使用无参数构造函数来新建一个带有一个空白幻灯片的演示文稿;
- 使用字节数组或流参数的构造函数来加载已有的 PPTX 文件。
4. 使用 API 构建或修改演示文稿(生成内容、设置格式、更新元数据、重新组织幻灯片等)。
5. 生成输出:
- 使用 Presentation.SaveDocument 保存为 PPTX;
- 使用 Presentation.ExportToPdf 生成 PDF;
- 使用 Presentation.Print 打印文档。
代码示例 — 从零创建新演示文稿
using DevExpress.Docs.Presentation; //... // Create a presentation with a single empty slide Presentation presentation = new Presentation(); // Configure Slide Master SlideMaster slideMaster = presentation.SlideMasters[0]; slideMaster.Background = new CustomSlideBackground(new SolidFill(Color.FromArgb(194, 228, 249))); // Add a new slide with content presentation.Slides.Clear(); Slide slide1 = new Slide(slideMaster.Layouts.Get(SlideLayoutType.Title)); foreach (Shape shape in slide1.Shapes) { if (shape.PlaceholderSettings.Type is PlaceholderType.CenteredTitle) { shape.TextArea = new TextArea("Daily Testing Status Report"); } if (shape.PlaceholderSettings.Type is PlaceholderType.Subtitle) { shape.TextArea = new TextArea($"{DateTime.Now: dddd, MMMM d, yyyy}"); } } presentation.Slides.Add(slide1); // Save Presentation to PPTX FileStream outputStream = new FileStream(@"D:\mypresentation.pptx", FileMode.Create); presentation.SaveDocument(outputStream);
更多产品资讯及授权,欢迎来电咨询:023-68661681
更多DevExpress线上公开课、中文教程资讯请上中文网获取
关于慧都科技
慧都是⼀家⾏业数字化解决⽅案公司,专注于软件、⽯油与⼯业领域,以深⼊的业务理解和⾏业经验,帮助企业实现智能化转型与持续竞争优势。
慧都是DevExpress的中国区的合作伙伴,DevExpress作为用户界面领域的优秀产品,帮助企业高效构建权限管理、数据可视化(如网格/图表/仪表盘)、跨平台系统(WinForms/ASP.NET/.NET MAUI)及行业定制解决方案,加速开发并强化交互体验。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/5405.html
相关产品: DevExpress WPF Subscription, DevExpress WinForms Subscription, DevExpress Universal Subscription,