مقدمة

Aspose.Slides FOSS for .NET is now available on NuGet: a free, MIT-licensed library for creating, reading, and editing 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().
  • الأشكال التلقائية، الجداول، والموصلات: إدراج الأشكال عبر slide.Shapes.AddAutoShape(),: البيانات الجدولية عبر slide.Shapes.AddTable(),: والموصلات البصرية بين الأشكال عبر slide.Shapes.AddConnector().
  • تنسيق النص الغني: تنسيق النص على مستوى الحرف باستخدام PortionFormat: حجم الخط، عريض، مائل، تحته خط، ولون ARGB عبر FillType.Solid و ColorFormat.
  • أنواع التعبئة: تطبيق FillType.Solid, Gradient, Pattern, أو Picture يملأ أي شكل.
  • التأثيرات البصرية: الظل الخارجي، التوهج، الحافة الناعمة، الضبابية، الانعكاس، والظل الداخلي عبر shape.EffectFormat.
  • 3D formatting: Bevel، الكاميرا، نظام الإضاءة، المادة، وعمق البثق عبر shape.ThreeDFormat.
  • ملاحظات المتحدث: إرفاق نص الملاحظات بكل شريحة عبر NotesSlideManager.AddNotesSlide().
  • تعليقات متسلسلة: إضافة تعليقات مع بيانات المؤلف الوصفية وموقع الشريحة.
  • صور مدمجة: تضمين من مسار الملف، بايتات، أو Stream.
  • خصائص المستند: قراءة وكتابة الخصائص الأساسية، وتطبيق، والمخصصة.

البدء

التثبيت من NuGet. يتطلب .NET 9.0 أو أحدث.

dotnet add package Aspose.Slides.Foss

أنشئ عرضك التقديمي الأول باستخدام شكل واحفظه:

using Aspose.Slides.Foss;

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

القيود الحالية

المناطق التالية تُثير NotImplementedException في هذا الإصدار:

  • المخططات، SmartArt، وكائنات OLE
  • الرسوم المتحركة وانتقالات الشرائح
  • تصدير إلى PDF أو HTML أو SVG أو صيغ الصور
  • الروابط التشعبية، إعدادات الإجراءات، ماكرو VBA، والتوقيعات الرقمية

الأجزاء غير المعروفة من XML التي تم مواجهتها أثناء التحميل تُحفظ حرفيًا عند الحفظ، لذا فإن ملفات PPTX التي تُنتجها أدوات أخرى تُعاد بنجاح دون فقدان.

انظر أيضًا