پایگاه دانش

Python PPTX | نحوه کار با ارائه‌های PowerPoint

اگر می‌خواهید بدانید چگونه می‌توانید بدون نیاز به نرم‌افزارهای خارجی دیگر، ارائه‌های PowerPoint و OpenOffice را با Python ایجاد، بخوانید، سفارشی‌سازی کنید، ترکیب کنید، کلون یا تبدیل کنید، ما اینجا هستیم تا به شما کمک کنیم.

Aspose.Slides for Python via .NET یک کتابخانه کلاسی برای دستکاری ارائه‌هاست که ویژگی‌های کلیدی متعددی از جمله ایجاد ارائه از صفر، تبدیل ارائه‌ها، مدیریت متن‌ها، اشکال، جداول، انیمیشن‌ها، پیش‌نمایش اسلایدها، خروجی اسلایدها به PDF، TIFF، XPS، HTML و بسیاری ویژگی‌های دیگر را ارائه می‌دهد. Aspose.Slides for Python via .NET نمونه‌های عملی و دموهایی دارد تا درک بهتری از API ما به دست آورید.

API ما ویژگی‌های زیر را ارائه می‌دهد:

• ایجاد یا کلون اسلایدها از قالب‌ها
• کار با جداول PowerPoint
• حذف یا افزودن حفاظت بر روی اشکال
• افزودن نمودارهای MS Excel به‌صورت OleObject
• تولید ارائه‌ها از پایگاه داده
• حفاظت از ارائه‌ها
• ایجاد و ویرایش نمودارها
• خروجی ارائه‌ها به PDF، XPS، HTML، JPEG، PNG، SVG و بسیاری فرمت دیگر

فرمت‌های فایل پشتیبانی‌شده:

Aspose.Slides for Python via .NET می‌تواند فرمت‌های زیر را بارگذاری و ذخیره کند: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP و می‌تواند به فرمت‌های زیر خروجی بدهد: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

در ادامه نحوه ایجاد، باز کردن، ترکیب و ذخیره یک ارائه را نشان می‌دهیم و مثال‌های کد را ارائه می‌کنیم.

Python PPTX | نحوه کار با ارائه PowerPoint

نحوه ایجاد یک ارائه PowerPoint (PPTX) با Python

برای افزودن یک خط جدید درون اسلاید با Aspose.Slides for Python via .NET، مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation بسازید
  2. با استفاده از اندیس، به اسلاید مورد نظر دسترسی پیدا کنید
  3. با متد add_auto_shape که توسط شیء shapes در دسترس است، یک AutoShape از نوع LINE اضافه کنید
  4. ارائه را به صورت فایل PPTX ذخیره کنید

با استفاده از این مراحل، یک خط به اسلاید اول ارائه اضافه شد:

import aspose.slides as slides  

# ایجاد یک شیء Presentation که نمایانگر یک فایل ارائه است
with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
    presentation.save("NewPresentation_out.pptx", slides.export.SaveFormat.PPTX)

نحوه باز کردن یک ارائه با Python

با Aspose.Slides for Python via .NET، توسعه‌دهندگان می‌توانند به ارائه‌های PowerPoint موجود دسترسی پیدا کنند یا آن‌ها را ویرایش کنند.

API ما کلاس Presentation را برای باز کردن یک ارائه موجود فراهم می‌کند و می‌توانیم از یکی از سازنده‌های مناسب این کلاس برای ایجاد شیء بر پایه یک ارائه PowerPoint موجود استفاده کنیم. در مثال زیر نحوه باز کردن یک Presentation را نشان می‌دهیم. نام فایل ارائه را به سازنده کلاس Presentation می‌دهیم و تعداد کل اسلایدها را برای نمایش چاپ می‌کنیم.

import aspose.slides as slides

# باز کردن فایل ارائه با عبور مسیر فایل به سازنده کلاس Presentation
with slides.Presentation("pres.pptx") as pres:
    # چاپ تعداد کل اسلایدهای موجود در ارائه
    print(pres.slides.length)

و اگر ارائه‌های بسیار بزرگ (مثلاً حجم ۳ GB) داشته باشید، می‌توانید آن‌ها را با کد نمونه زیر باز کنید:

import aspose.slides as slides
import os

loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED

with slides.Presentation("pres.pptx", loadOptions) as pres:
    # ارائه بزرگ بارگذاری شد و آماده استفاده است، اما مصرف حافظه همچنان کم است.

    # اعمال هر تغییری روی ارائه
    pres.slides[0].name = "Very large presentation"

    # ارائه در فایل دیگر ذخیره می‌شود؛ مصرف حافظه در حین ذخیره‌سازی نیز کم می‌ماند.
    pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # این کار مجاز نیست! استثنای IO پرتاب می‌شود زیرا فایل در حین وجود شیء pres قفل است
    # و شیء pres آزاد نمی‌شود
    os.remove("pres.pptx")

# در اینجا می‌توان فایل منبع را حذف کرد؛ دیگر توسط شیء pres قفل نشده است
os.remove("pres.pptx")

اگر ارائه‌ای با اشیای بزرگ (تصاویر، ویدئو، صدا و غیره) می‌سازید، برای کاهش مصرف حافظه از امکان Blob استفاده کنید.

نحوه ترکیب ارائه‌های PowerPoint با Python

Aspose.Slides for Python via .NET به شما امکان می‌دهد ارائه‌ها را به روش‌های مختلف ترکیب کنید. می‌توانید ارائه‌های PowerPoint را همراه با اشکال، قالب‌بندی، متن‌ها، سبک‌ها، نظرات و غیره ترکیب کنید بدون اینکه کیفیت یا داده‌ها از دست بروند. با API ما می‌توانید کل ارائه‌ها، اسلایدهای خاص یا ترکیبی از فرمت‌های مختلف (مثلاً PPTX به PPT، PPTX به ODP و …) را ترکیب کنید.

برای ترکیب ارائه‌ها می‌توانید از متدهای add_clone (از اینترفیس ISlideCollection ) استفاده کنید. شیء Presentation شامل یک مجموعه اسلایدهاست و می‌توانید متد add_clone را از ارائه انتخابی فراخوانی کنید تا اسلایدها در ارائه مقصد ترکیب شوند.

ترکیب ارائه

با استفاده از متد AddClone (ISlide) می‌توانید اسلایدها را بدون نگرانی از دست رفتن ظاهر و سبک‌ها ترکیب کنید (پارامترهای پیش‌فرض). در کد زیر نحوه ترکیب ارائه‌ها را می‌بینید:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide)
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

ترکیب ارائه و تغییر سبک اسلایدها
اگر می‌خواهید هنگام ترکیب اسلایدها سبک آن‌ها را تغییر دهید، متد add_clone (ISlide, IMasterSlide, Boolean) این امکان را فراهم می‌کند.

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        pres1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX)

ترکیب اسلایدهای خاص
با کد زیر می‌توانید اسلایدهای خاصی را از ارائه‌های مختلف انتخاب و ترکیب کنید تا یک ارائه خروجی واحد به دست آورید:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.layout_slides[0])
        pres1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX)

برای روش‌های دیگر ترکیب ارائه‌ها می‌توانید بخش Merge Presentation را در مستندات مطالعه کنید.

نحوه ذخیره ارائه‌های PowerPoint با Python

با Aspose.Slides for Python via .NET می‌توانید یک ارائه را به‌صورت فایل یا جریان (stream) ذخیره کنید. در ادامه نمونه کد برای هر دو روش ارائه می‌شود.

ذخیره ارائه به‌صورت فایل
می‌توانید با فراخوانی متد Save کلاس Presentation یک ارائه را به‌صورت فایل ذخیره کنید.

import aspose.slides as slides

# ایجاد یک شیء Presentation که نمایانگر یک فایل PPT است
with slides.Presentation() as presentation:
    
    # ... انجام کارهای دلخواه ...

    # ذخیره ارائه در یک فایل
    presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)

ذخیره ارائه به‌صورت جریان
یک روش دیگر ذخیره ارائه، ذخیره به‌صورت جریان است. کافی است یک جریان خروجی به متد Save کلاس Presentation بدهید. در کد زیر یک فایل Presentation جدید ایجاد می‌کنیم، متنی به شکل اضافه می‌کنیم و سپس ارائه را به‌صورت جریان ذخیره می‌کنیم.

import aspose.slides as slides

# ایجاد یک شیء Presentation که نمایانگر یک فایل PPT است
with slides.Presentation() as presentation:
    
    shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)

    # ذخیره ارائه در یک جریان
    with open("Save_As_Stream_out.pptx", "bw") as stream:
        presentation.save(stream, slides.export.SaveFormat.PPTX)

در مستندات ما می‌توانید نحوه ذخیره ارائه‌ها با نوع نمای پیش‌فرض ، ذخیره ارائه‌ها به فرمت Strict Open XML یا ذخیره پیشرفت به‌صورت درصدی را بیابید.

Aspose.Slides for Python via .NET با نسخه‌های Python 3.5 تا 3.9 سازگار است و در صورتی که کد Python خود را بر روی لینوکس اجرا می‌کنید، می‌توانید نیازمندی‌های اضافی برای لینوکس را بررسی کنید.

مشاوره پرداختی

اگر به کمک برای پروژه‌تان نیاز دارید، متخصصان ما آماده‌اند تا با شما در پروژه همکاری کنند، راه‌حل طراحی کنند و API ما را بر اساس نیازهای شما پیاده‌سازی کنند. ما کارهای سخت را انجام می‌دهیم تا شما بتوانید بر روی کسب‌وکار خود تمرکز کنید.