مقدمه

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx فایل‌ها به‌صورت کامل در Python هستند و هیچ وابستگی به Microsoft Office یا هیچ زمان‌اجرای مالکیتی ندارند.

این کتابخانه برای توسعه‌دهندگانی طراحی شده است که نیاز به تولید یا دستکاری فایل‌های ارائه به‌صورت برنامه‌نویسی دارند: خودکارسازی اسلایدها از داده‌ها، استخراج متن و متادیتا از فایل‌های PPTX بارگذاری‌شده، ساخت خطوط لوله گزارش‌گیری مبتنی بر ارائه، یا ادغام ایجاد ارائه در برنامه‌های وب. زیرا aspose-slides-foss یک Python خالص است با تنها 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 formatting: Bevel، camera، light rig، material، و extrusion depth از طریق 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 تولید شده توسط ابزارهای دیگر به‌صورت ایمن دورگرد می‌شوند.

موارد مرتبط