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