معرفی
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 تولید شده توسط ابزارهای دیگر بهصورت ایمن دور‑دور میشوند.