翻譯|行業資訊|編輯:龔雪|2025-08-22 10:42:34.497|閱讀 81 次
概述:本文將為大家介紹DevExpress近期全新發布得新一代PowerPoint Presentation API庫,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
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 歡迎一起進群討論
DevExpress Presentation API 構建于 .NET 之上,開箱即用地支持廣泛的平臺與操作系統。無論您在開發傳統桌面應用、Web 后端,還是跨平臺解決方案,都可以無縫集成 PowerPoint 文件處理能力,無需依賴 Microsoft Office 或 PowerPoint 的安裝環境。
支持的框架、操作系統和環境包括:
當前版本(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;
該方法允許您用更少的代碼對表示文檔進行更改,同時如果需要唯一的實例來防止意外更改,可以創建文檔元素和設置單獨的復制。
若要在項目中使用 DevExpress Presentation API,請按以下步驟操作:
1. 從 安裝 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 實例:
4. 使用 API 構建或修改演示文稿(生成內容、設置格式、更新元數據、重新組織幻燈片等)。
5. 生成輸出:
代碼示例 — 從零創建新演示文稿
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作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網