مقدمة
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ملفات بالكامل في Python، دون أي اعتماد على Microsoft Office أو أي بيئة تشغيل مملوكة.
تم تصميم المكتبة للمطورين الذين يحتاجون إلى إنشاء أو معالجة ملفات العروض التقديمية برمجيًا: أتمتة مجموعات الشرائح من البيانات، استخراج النص والبيانات الوصفية من ملفات PPTX التي تم تحميلها، بناء خطوط أنابيب تقارير تعتمد على العروض التقديمية، أو دمج إنشاء العروض التقديمية في تطبيقات الويب. لأن aspose-slides-foss هي Python نقي مع فقط 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. - 3D formatting: الحافة المائلة، الكاميرا، مجموعة الإضاءة، المادة، وعمق البثق عبر
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 التي تُنتجها أدوات أخرى تُعاد بنجاح دون فقدان.