مقدمه
Aspose.Slides FOSS برای .NET اکنون در NuGet در دسترس است: یک کتابخانه رایگان با مجوز MIT برای ایجاد، خواندن و ویرایش فایلهای PowerPoint .pptx بهصورت کامل در C#، بدون وابستگی به Microsoft Office یا هر زماناجرای مالکیتی.
این کتابخانه برای توسعهدهندگانی طراحی شده است که نیاز به تولید یا دستکاری فایلهای ارائه بهصورت برنامهنویسی دارند: خودکارسازی اسلایدها از دادهها، استخراج متن و متادیتا از فایلهای PPTX بارگذاریشده، ساخت خطوط لوله گزارشگیری مبتنی بر ارائه، یا ادغام ایجاد ارائه در برنامههای ASP.NET. چون Aspose.Slides.Foss به .NET 9.0 یا بالاتر نیاز دارد، بهصورت یکسان بر روی Windows، macOS، Linux و کانتینرهای Docker مستقر میشود.
ویژگیهای کلیدی
- پشتیبانی کامل دورگرد PPTX: هر فایل
.pptxرا باز کنید، محتوای آن را تغییر دهید و بدون از دست دادن بخشهای XML ناشناسی که کتابخانه هنوز نمیفهمد، دوباره ذخیره کنید. - مدیریت اسلایدها: با استفاده از
prs.Slidesاسلایدها را اضافه، حذف و پیمایش کنید؛ ارائه پس ازnew Presentation()با یک اسلاید خالی شروع میشود. - AutoShapes، جداول و کانکتورها: اشکال را از طریق
slide.Shapes.AddAutoShape()، دادههای جدولی را از طریقslide.Shapes.AddTable()و کانکتورهای بصری بین اشکال را از طریقslide.Shapes.AddConnector()وارد کنید. - قالببندی متن غنی: متن را در سطح کاراکتر با
PortionFormatقالببندی کنید: اندازه قلم، بولد، ایتالیک، زیرخط و رنگ ARGB از طریقFillType.SolidوColorFormat. - انواع پر کردن: پر کردنهای
FillType.Solid،Gradient،PatternیاPictureرا به هر شکلی اعمال کنید. - افکتهای بصری: سایه خارجی، درخشندگی، لبه نرم، تاری، انعکاس و سایه داخلی از طریق
shape.EffectFormat. - قالببندی 3D: برجستگی، دوربین، نورپردازی، ماده و عمق برآمدگی از طریق
shape.ThreeDFormat. - یادداشتهای سخنران: متن یادداشتها را به هر اسلاید از طریق
NotesSlideManager.AddNotesSlide()پیوست کنید. - نظرات زنجیرهای: نظرات را با متادیتای نویسنده و موقعیت اسلاید اضافه کنید.
- تصاویر جاسازیشده: از مسیر فایل، بایتها یا
Streamجاسازی کنید. - ویژگیهای سند: ویژگیهای اصلی، برنامه و سفارشی را بخوانید و بنویسید.
شروع کار
از NuGet نصب کنید. .NET 9.0 یا نسخههای بعدی مورد نیاز است.
dotnet add package Aspose.Slides.Foss
اولین ارائه خود را با یک شکل ایجاد کنید و ذخیره کنید:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("hello.pptx", SaveFormat.Pptx);
همیشه از Presentation داخل یک بلوک using استفاده کنید؛ این اطمینان میدهد که تمام منابع داخلی هنگام خروج از بلوک آزاد شوند.
مثال قالببندی متن
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold heading in corporate blue");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 28;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("formatted.pptx", SaveFormat.Pptx);
محدودیتهای فعلی
مناطق زیر در این نسخه پشتیبانی نمیشوند:
- نمودارها، SmartArt و اشیای OLE
- انیمیشنها و انتقالهای اسلاید
- خروجی به PDF، HTML، SVG یا فرمتهای تصویری
- پیوندهای فراگیر، تنظیمات اقدام، ماکروهای VBA و امضاهای دیجیتال
بخشهای XML ناشناختهای که در هنگام بارگذاری مواجه میشوند، بهصورت دقیق همانگونه در زمان ذخیره حفظ میشوند، بنابراین فایلهای PPTX تولید شده توسط ابزارهای دیگر بهصورت ایمن دور‑دور میشوند.