كيفية إنشاء العروض التقديمية في Python
Aspose.Slides FOSS for Python lets you create PowerPoint presentations entirely in Python with no dependency on Microsoft Office. This guide shows how to create a new presentation, add slides and shapes, format text, and save the result.
خطوة بخطوة دليل
الخطوة 1: قم بتثبيت الحزمة
تثبيت Aspose.Slides FOSS من PyPI. Python 3.10 أو ما بعد مطلوب.
pip install aspose-slides-fossتحقق من التثبيت :
import aspose.slides_foss as slides
print("Aspose.Slides FOSS ready")وَالْمُتَّقِينَ lxml تثبيت الإدمان تلقائيًا.لا تتطلب أي حزم نظام أخرى.
الخطوة 2: استيراد الوحدات المطلوبة
استيراد الحزمة و SaveFormat الـنـبـيـل لـالـمـحـسـر.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeTypeكل نوع من الحيوانات المنوية يعيش في aspose.slides_foss.ShapeType.جميع أنواع التصميم (FillType, NullableBool(و) أن يكون أيضا في aspose.slides_foss.
الخطوة الثالثة: إعداد عرض
استخدام slides.Presentation() كمدير السياق، يبدأ عرض جديد مع شاشة واحدة.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
print(f"Slides in new presentation: {len(prs.slides)}")
# work with prs inside this block
prs.save("output.pptx", SaveFormat.PPTX)أهمية : دائما مفتوحة واستخدامها Presentation داخل أ with لا تخزن مرجعية خارج المكان. with - الموارد: لن يتم إصدارها بشكل صحيح.
الخطوة 4: الوصول إلى الشرائح
أول شريط هو في المؤشر 0.A white presentation has exactly one slide.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0] # zero-based index
print(f"Slide at index 0: {slide}")
prs.save("output.pptx", SaveFormat.PPTX)الخطوة الخامسة: إضافة شكل
استخدام slide.shapes.add_auto_shape() إضافة AutoShape.المعايير هي (shape_type, x, y, width, height) كلها في النقاط (1 نقطة = 1/72 بوصة؛ الشريط القياسي هو 960 × 540 pt).
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Rectangle at (50, 50) with 400 wide and 120 tall
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
# Attach a text frame
shape.add_text_frame("Hello from Aspose.Slides FOSS!")
prs.save("with-shape.pptx", SaveFormat.PPTX)الخطوة 6: حفظ العرض التقديمي
مكالمة prs.save(path, SaveFormat.PPTX) قبل أن يُعطى with PPTX هو تنسيق النتيجة الوحيد المدعوم.
prs.save("result.pptx", SaveFormat.PPTX)يتم كتابة الملف بشكل ذاتي؛ إذا حدث خطأ قبل هذا المكالمة، لا يتم إنشاء ملف الناتج.
نموذج عمل كامل
يخلق السيناريو التالي عرضًا مزدوجًّا مع شكل عنوان على الشريط الأول وطاولة على الثانية.
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:
# --- Slide 1: title shape ---
slide1 = prs.slides[0]
title = slide1.shapes.add_auto_shape(ShapeType.RECTANGLE, 40, 40, 640, 80)
tf = title.add_text_frame("Q1 Results: Executive Summary")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 32
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)
# --- Slide 2: table ---
prs.slides.add_empty_slide(prs.layout_slides[0])
slide2 = prs.slides[1]
table = slide2.shapes.add_table(40, 40, [200.0, 120.0, 120.0], [40.0, 40.0, 40.0])
headers = ["Region", "Revenue", "Growth"]
data = [
["North", "$1.2M", "+8%"],
["South", "$0.9M", "+4%"],
]
for col, header in enumerate(headers):
table.rows[0][col].text_frame.text = header
for row_idx, row_data in enumerate(data):
for col, cell_text in enumerate(row_data):
table.rows[row_idx + 1][col].text_frame.text = cell_text
prs.save("q1-results.pptx", SaveFormat.PPTX)
print("Saved q1-results.pptx")مشكلات و تصحيحات مشتركة
ResourceWarning: unclosed Presentation
أنت تثبت Presentation بدون أ with الـمـنـتـقـيـد : دائماً استخدام:
with slides.Presentation() as prs:
...AttributeError: __enter__
إذا رأيت هذا الخطأ، تأكد من أنك استوردت. aspose.slides_foss ( لا ) aspose.slidesاسم الحزمة على PyPI هو aspose-slides-foss ويدخل في الوقت المناسب استيراد aspose.slides_foss.
TypeError: SaveFormat.PPTX is not callable
SaveFormat.PPTX هو عضو في العضوية وليس وظيفة.استخدمها كعضو prs.save("file.pptx", SaveFormat.PPTX).
الأسئلة المتكررة
ما هو حجم الشرائح الافتراضية؟?
و جديد Presentation() إنشاء الشرائح في حجم شاشة العرض القياسية 16:9 (960 × 540 نقطة) تغيير حجم الشريط لا يدعم بعد في هذا الإصدار.
هل يمكنني إضافة أكثر من شريط واحد؟?
نعم، اتصل بنا prs.slides.add_empty_slide(prs.layout_slides[0]) إرفاق شريط خفيف والوصول إليه بواسطة المؤشر:
prs.slides.add_empty_slide(prs.layout_slides[0])
slide2 = prs.slides[1]هل يمكنني فتح ملف موجود وإضافة الشرائح؟?
نعم :
with slides.Presentation("existing.pptx") as prs:
prs.slides.add_empty_slide(prs.layout_slides[0])
prs.save("existing.pptx", SaveFormat.PPTX)ما هي النماذج التي يمكنني حفظها؟?
فقط SaveFormat.PPTX يتم دعمها.الصادرات إلى PDF أو HTML أو SVG أو الصور غير متوفرة في هذا الإصدار.