كيفية حفظ العروض التقديمية في Python
Aspose.Slides FOSS for Python saves presentations exclusively to .pptx تنسيق باستخدام prs.save(path, SaveFormat.PPTX).هذا الدليل يغطي نموذج التخزين الصحيح، وتوفير إلى مسار مختلف، والأخطاء الشائعة المتعلقة التوفين.
خطوة بخطوة دليل
الخطوة 1: قم بتثبيت الحزمة
pip install aspose-slides-fossالخطوة 2: فتح أو إنشاء عرض
استخدم دائمًا مدير السياق.يجب أن يحدث استدعاء الادخار داخل with كتلة .
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Create new
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)
# Open existing
with slides.Presentation("input.pptx") as prs:
prs.save("output.pptx", SaveFormat.PPTX)الخطوة الثالثة: حفظ في نهاية المطاف with كتلة
موقع الـ save() ووصفها بالحديث الأخير داخل with بعد أن تم الانتهاء من جميع التعديلات.
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]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Hello, World!")
prs.save("output.pptx", SaveFormat.PPTX)الخطوة 4: حفظها في مسار مختلف
اجتياز مسار إخراج مختلف لإنشاء ملف جديد دون تعديل الأصلي:
with slides.Presentation("template.pptx") as prs:
# modify ...
prs.save("customized.pptx", SaveFormat.PPTX)وَالْمُتَّقِينَ template.pptx لا يتم تعديل الملفات.; customized.pptx (وَإِنْ كُنَّا مُرْسِلِينَ فَمَا جَاءَهُمْ) أي إن كانوا قد خلقوا.
الخطوة الخامسة: تحقق من النتيجة.
بعد أن كان with يخرج الملف كاملاً ويغلقه.تحقق من وجوده:
import os
from pathlib import Path
output = Path("output.pptx")
print(f"Saved: {output.exists()}, size: {output.stat().st_size} bytes")دعم النموذج المحفوظة
| شكل | قيمة Enum | دعم |
|---|---|---|
| PPTX (Office Open XML) - مكتب مفتوح XML | SaveFormat.PPTX | نعم |
| N/A | لا | |
| HTML | N/A | لا |
| SVG | N/A | لا |
| PNG / JPEG | N/A | لا |
| ODP (أوراق النشر المفتوحة) | N/A | لا |
فقط PPTX مدعومة.محاولة حفظ في أي تنسيق آخر سوف ترتفع NotImplementedError أو خطأ في النموذج غير المدعوم.
مشكلات و تصحيحات مشتركة
PermissionError: [Errno 13] Permission denied
يتم فتح ملف الناتج في تطبيق آخر (على سبيل المثال، يحتوي PowerPoint على الملف مفتوح).
يتم إنشاء الملف ولكن يبدو فارغا أو مكسورة
ضمان prs.save() يُدعى داخل with بعد ذلك، وليس بعدها. - بعد with الخروج من المجموعة، و Presentation يتم إزالة الكائنات، وسوف تفشل المكالمات اللاحقة بصمت أو تثير خطأ.
NotImplementedError عندما ينقذ
هذا يحدث عند محاولة تنسيق حفظ غير PPTX، أو عند استخدام ميزة غير مدعومة (مثل الرسوم البيانية أو الرؤى) أثناء حفظ.
الأسئلة المتكررة
هل يمكنني حفظ الملفات التي قمت بفتحها؟?
نعم.التوفير في نفس المسار يبالغ في كتابة الملف الأصلي:
with slides.Presentation("deck.pptx") as prs:
# modify ...
prs.save("deck.pptx", SaveFormat.PPTX) # overwrites originalهل يمكنني حفظ بيوت بدلاً من ملف؟?
نعم، اجتاز io.BytesIO موضوع مباشر إلى prs.save() - يوافق على أي BinaryIO الوجهة :
import io
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
buf = io.BytesIO()
with slides.Presentation() as prs:
# ... modify presentation ...
prs.save(buf, SaveFormat.PPTX)
pptx_bytes = buf.getvalue()هل يحتفظ الادخار بالمحتوى الذي لم أعده؟?
نعم، يتم الحفاظ على أجزاء XML غير معروفة من الملف الأصلي في التوراة.المكتبة تصف فقط أطراف نموذج المستند الذي يفهمه، وتمر عبر أي XML التي لا يعرفها.