مقدمة
Aspose.Slides FOSS for Python متاح الآن على PyPI: مكتبة مجانية مرخصة تحت MIT لإنشاء وقراءة وتحرير ملفات PowerPoint .pptx بالكامل باستخدام Python، دون أي اعتماد على Microsoft Office أو أي بيئة تشغيل مملوكة.
تم تصميم المكتبة للمطورين الذين يحتاجون إلى إنشاء أو معالجة ملفات العروض التقديمية برمجيًا: أتمتة مجموعات الشرائح من البيانات، استخراج النص والبيانات الوصفية من ملفات PPTX التي تم تحميلها، بناء خطوط أنابيب تقارير تعتمد على العروض التقديمية، أو دمج إنشاء العروض التقديمية في تطبيقات الويب. لأن aspose-slides-foss هي بايثون صافية مع lxml فقط كاعتماد، فإنها تُنشر بنفس الطريقة على Windows و macOS و Linux وحاويات Docker.
الميزات الرئيسية
- دعم كامل للرحلة ذهابًا وإيابًا لملفات PPTX: افتح أي ملف
.pptx، عدل محتواه، واحفظه مرة أخرى دون فقدان أجزاء XML غير المعروفة التي لا يزال المكتبة لا تفهمها. - إدارة الشرائح: أضف، احذف، وتصفح الشرائح باستخدام
prs.slides؛ يبدأ العرض بشريحة فارغة واحدة بعدslides.Presentation(). - الأشكال التلقائية، الجداول، والموصلات: أدخل الأشكال عبر
slide.shapes.add_auto_shape()، البيانات الجدولية عبرslide.shapes.add_table()، والموصلات البصرية بين الأشكال عبرslide.shapes.add_connector(). - تنسيق النص الغني: قم بتنسيق النص على مستوى الحرف باستخدام
PortionFormat: حجم الخط، غامق، مائل، تحت الخط، ولون ARGB عبرFillType.SOLIDوColor.from_argb(). - أنواع التعبئة: طبّق تعبئات
FillType.SOLID،GRADIENT،PATTERNأوPICTUREعلى أي شكل. - التأثيرات البصرية: الظل الخارجي، التوهج، الحافة الناعمة، الضبابية، الانعكاس، والظل الداخلي عبر
shape.effect_format. - التنسيق ثلاثي الأبعاد: الحافة المائلة، الكاميرا، نظام الإضاءة، المادة، وعمق البثق عبر
shape.three_d_format. - ملاحظات المتحدث: أرفق نص الملاحظات لكل شريحة عبر
notes_slide_manager.add_notes_slide(). - تعليقات متسلسلة: أضف تعليقات مع بيانات تعريف المؤلف وموقع الشريحة.
- الصور المدمجة: دمج من مسار الملف، البايتات، أو تدفق
io.BytesIO. - خصائص المستند: قراءة وكتابة الخصائص الأساسية، التطبيق، والخصائص المخصصة.
البدء
التثبيت من PyPI. يلزم Python 3.10 أو أحدث؛ lxml يتم تثبيته تلقائيًا.
pip install aspose-slides-foss
أنشئ عرضك التقديمي الأول مع شكل واحفظه:
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
shape.add_text_frame("Hello from Aspose.Slides FOSS!")
prs.save("hello.pptx", SaveFormat.PPTX)
استخدم دائمًا Presentation داخل كتلة with؛ هذا يضمن تحرير جميع الموارد الداخلية عند خروج الكتلة.
مثال تنسيق النص
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold heading in corporate blue")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("formatted.pptx", SaveFormat.PPTX)
القيود الحالية
المناطق التالية تُثير NotImplementedError في هذا الإصدار:
- المخططات، SmartArt، وكائنات OLE
- الرسوم المتحركة وانتقالات الشرائح
- التصدير إلى PDF، HTML، SVG، أو صيغ الصور
- الروابط التشعبية، إعدادات الإجراءات، ماكرو VBA، والتوقيعات الرقمية
يتم الحفاظ على أجزاء XML غير المعروفة التي تم مواجهتها أثناء التحميل حرفيًا عند الحفظ، لذا فإن ملفات PPTX التي تنتجها الأدوات الأخرى تمر بعملية التحميل والحفظ بأمان.