الأسئلة المتكررة
الأسئلة المتكررة
كيف أقوم بتثبيت Aspose.Slides FOSS؟
قم بالتثبيت من PyPI باستخدام pip. يتطلب Python 3.10 أو أحدث.
pip install aspose-slides-fossتحقق من التثبيت:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")يتم تثبيت تبعية lxml تلقائيًا. لا يلزم Microsoft Office أو أي بيئة تشغيل نظام أخرى.
لماذا يجب عليّ استخدام with slides.Presentation() as prs:؟
تدير الفئة Presentation مقابض الملفات الداخلية وموارد XML. بدون مدير السياق، لا يتم تحرير تلك الموارد عندما يخرج كائن Presentation من النطاق، مما قد يسبب تسرب الموارد أو قفل الملفات على نظام Windows.
دائمًا اتبع هذا النمط:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)ما صيغ الملفات التي يمكنني الحفظ إليها؟
تُعرّف تعداد SaveFormat الثوابت للعديد من الصيغ — PPTX، PDF، HTML، SVG، JPEG، PNG، وغيرها — لتوافق API مع النسخة التجارية. في وقت التشغيل في هذه النسخة FOSS، جميع استدعاءات save() تتجاهل معامل الصيغة وتكتب دائمًا مخرجات PPTX. تمرير SaveFormat.PDF يُترجم ويُنفّذ دون خطأ لكنه ينتج ملف .pptx، وليس .pdf.
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)التصدير إلى صيغ غير PPTX غير متاح وظيفيًا في هذا الإصدار. استخدم SaveFormat.PPTX لجميع عمليات الحفظ.
هل يمكنني فتح ملفات .ppt (PowerPoint القديمة 97–2003)؟
لا. يتم دعم ملفات .pptx (Office Open XML) فقط. تنسيق .ppt الثنائي القديم غير معالج بواسطة هذه المكتبة.
كيف يمكنني الوصول إلى الشرائح؟
الشرائح هي قائمة ذات فهرس يبدأ من الصفر يمكن الوصول إليها عبر prs.slides:
first_slide = prs.slides[0]
slide_count = len(prs.slides)كيف أضيف شريحة ثانية؟
استخدم prs.slides.add_empty_slide() مع تخطيط:
with slides.Presentation() as prs:
layout = prs.layout_slides[0]
prs.slides.add_empty_slide(layout)
slide2 = prs.slides[1]
prs.save("two-slides.pptx", SaveFormat.PPTX)كيف يمكنني تعيين لون خلفية الشريحة؟
تلوين خلفية الشريحة غير متوفر في هذا الإصدار. لا تعرض الفئة Slide خاصية background. سيؤدي محاولة slide.background إلى رفع AttributeError. هذه الميزة غير مُنفذة في الإصدار الحالي.
كيف أستخدم NullableBool؟
NullableBool هو تعداد ثلاثي الحالة يُستخدم لخصائص التنسيق. استخدم NullableBool.TRUE (ليس True الخاص بـ Python) للخط العريض، المائل، والخصائص المشابهة:
from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED # inherits from themeلماذا لا يؤثر تعيين لون النص؟
يجب عليك أيضًا تعيين fill_type = FillType.SOLID قبل تعيين اللون:
from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)هل يمكنني استخدام المخططات أو SmartArt؟
لا. المخططات، SmartArt، كائنات OLE، الرسوم المتحركة، الانتقالات، الروابط التشعبية، ماكرو VBA، والتوقيعات الرقمية غير مُنفذة في هذا الإصدار وتؤدي إلى NotImplementedError.
هل تدعم المكتبة Python 3.9؟
لا. Python 3.10 أو أحدث مطلوب.
هل هذه المكتبة آمنة للخيوط؟
كل كائن Presentation مستقل. إنشاء واستخدام نسخ Presentation منفصلة من خيوط منفصلة آمن طالما أنك لا تشارك كائن Presentation واحد عبر الخيوط دون قفل خارجي.
كيف أدمج صورة؟
اقرأ بايتات الصورة وأضفها إلى prs.images، ثم أنشئ PictureFrame:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)