معرفی

Aspose.Slides FOSS for Python هم‌اکنون در PyPI موجود است: یک کتابخانهٔ رایگان با مجوز MIT برای ایجاد، خواندن و ویرایش فایل‌های PowerPoint .pptx به‌صورت کامل در پایتون، بدون وابستگی به Microsoft Office یا هر زمان‌اجرای مالکیتی.

این کتابخانه برای توسعه‌دهندگانی طراحی شده است که نیاز به تولید یا دستکاری فایل‌های ارائه به‌صورت برنامه‌نویسی دارند: خودکارسازی اسلایدها از داده‌ها، استخراج متن و متادیتا از فایل‌های PPTX بارگذاری‌شده، ساخت خطوط لوله گزارش‌گیری مبتنی بر ارائه، یا ادغام ایجاد ارائه در برنامه‌های وب. چون aspose-slides-foss یک پایتون خالص است و تنها lxml به‌عنوان وابستگی دارد، به‌صورت یکسان بر روی Windows، macOS، Linux و کانتینرهای Docker مستقر می‌شود.

ویژگی‌های کلیدی

  • پشتیبانی کامل دورگرد PPTX: هر فایل .pptx را باز کنید، محتوای آن را تغییر دهید و بدون از دست دادن بخش‌های XML ناشناسی که کتابخانه هنوز درک نمی‌کند، ذخیره کنید.
  • مدیریت اسلایدها: با استفاده از prs.slides اسلایدها را اضافه، حذف و مرور کنید؛ ارائه پس از slides.Presentation() با یک اسلاید خالی شروع می‌شود.
  • AutoShapes، جداول و کانکتورها: اشکال را با 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: برجستگی، دوربین، نورپردازی، ماده و عمق برآمدگی از طریق 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 تولید شده توسط ابزارهای دیگر به‌صورت ایمن دور‑دور می‌شوند.

همچنین ببینید