كيفية تحميل العروض التقديمية في Python
Aspose.Slides FOSS for Python lets you open any .pptx الملف، فحص محتواه، وإما حفظه مرة أخرى إلى PPTX أو استخراج البيانات منه. هذا الدليل يغطي فتح ملف، وتشويش الشرائح، وقراءة شكل النص، ودوائر-مخزون الخزانة.
خطوة بخطوة دليل
الخطوة 1: قم بتثبيت الحزمة
pip install aspose-slides-fossالخطوة 2: افتح عرض موجود
قم بتحويل مسار الملف إلى slides.Presentation().استخدم مدير السياق لضمان التنظيف.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)يتم الحفاظ على أجزاء XML غير معروفة في ملف المصدر: لا تقوم المكتبة بإزالة المحتوى الذي لا يفهمه بعد.
الخطوة الثالثة: فحص الشرائح
اقرأ جميع الخصائص و اكتب مؤشرها :
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
for i, slide in enumerate(prs.slides):
shape_count = len(slide.shapes)
print(f"Slide {i}: {shape_count} shapes")الخطوة 4: قراءة النص الشكل
اقرأ المزيد من الاحاديث و اكتب النص من الأشكال التي لديها TextFrame:
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
for slide in prs.slides:
for shape in slide.shapes:
if hasattr(shape, "text_frame") and shape.text_frame is not None:
text = shape.text_frame.text
if text.strip():
print(f" Shape text: {text!r}")الخطوة الخامسة: قراءة ملكية المستندات
الوصول إلى الخصائص الأساسية للوثيقة من prs.document_properties:
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
props = prs.document_properties
print(f"Title: {props.title}")
print(f"Author: {props.author}")
print(f"Subject: {props.subject}")الخطوة 6: Round-Trip Save
بعد فحص أو تعديل العرض التقديمي، حفظه مرة أخرى إلى PPTX:
prs.save("output.pptx", SaveFormat.PPTX)إن حفظ الطريق إلى مسار مختلف يخلق ملفًا جديدًّا، وإن حفظ المسار إلى نفس المسارات يتجاوز الكتابة الأصلية.
مشكلات و تصحيحات مشتركة
FileNotFoundError
انظروا إلى الطريق الذي يمر به .pptx الملف صحيح فيما يتعلق بملف العمل.استخدام pathlib.Path بناء مسار قوي:
from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
...Exception: File format is not supported
المكتبة تدعم .pptx (Office Open XML) فقط. .ppt (البرنامج الثنائي PowerPoint 97-2003) لا يتم دعم الملفات.
لا يوجد شكل من أشكال النص_frame
بعض الأشكال (المتصلات، صور، مجموعة الشرائح) لا تملك text_frame.الحراسة مع hasattr(shape, "text_frame") and shape.text_frame is not None قبل الوصول إلى النص.
الأسئلة المتكررة
هل يحفظ تحميل كل المحتوى الأصلي؟?
نعم، يتم حفظ أجزاء XML غير معروفة على النسخة المحركة.المكتبة لن تقوم بإزالة أي محتوى XML لا يفهمه بعد.
هل يمكنني تحميل PPTX المحمي كلمة المرور؟?
لا يتم دعم العروض التقديمية المحمية كلمة المرور (المشفوعة) في هذا الإصدار.
هل يمكنني استخراج الصور المدمجة؟?
الوصول إلى مجموعة الصور: prs.images يعود إلى ImageCollection.كل صورة لها صورة content_type و أ bytes الممتلكات لقراءة بيانات الصورة الخام.
هل يتم دعم الشحن من تدفق في الذاكرة؟?
تحميل مباشرة من io.BytesIO لا يتم التعرض لها في API الحالي. اكتب بايتات إلى ملف مؤقت أولا:
import tempfile, os
import aspose.slides_foss as slides
with tempfile.NamedTemporaryFile(suffix=".pptx", delete=False) as tmp:
tmp.write(pptx_bytes)
tmp_path = tmp.name
try:
with slides.Presentation(tmp_path) as prs:
print(f"Slides: {len(prs.slides)}")
finally:
os.unlink(tmp_path)