تبدیل PPT، PPTX و ODP به JPG در پایتون

مقدمه

تبدیل ارائه‌های PowerPoint و OpenDocument به تصاویر JPG به اشتراک‌گذاری اسلایدها، بهینه‌سازی کارایی و جاسازی محتوا در وب‌سایت‌ها یا برنامه‌ها کمک می‌کند. Aspose.Slides برای Python به شما امکان تبدیل فایل‌های PPTX، PPT و ODP به تصاویر JPEG با کیفیت بالا را می‌دهد. این راهنما روش‌های مختلف تبدیل را توضیح می‌دهد.

با این ویژگی‌ها، پیاده‌سازی نمایشگر سفارشی ارائه و ایجاد تصویر کوچک برای هر اسلاید بسیار ساده می‌شود. این می‌تواند در صورتی مفید باشد که بخواهید اسلایدهای ارائه را از کپی‌برداری محافظت کنید یا ارائه را در حالت فقط‑خواندنی نشان دهید. Aspose.Slides به شما اجازه می‌دهد کل ارائه یا اسلاید خاصی را به فرمت‌های تصویری تبدیل کنید.

تبدیل اسلایدهای ارائه به تصاویر JPG

مراحل تبدیل فایل PPT، PPTX یا ODP به JPG به شرح زیر است:

  1. یک نمونه از کلاس Presentation ایجاد کنید.
  2. شیء اسلاید از نوع Slide را از مجموعه Presentation.slides دریافت کنید.
  3. با استفاده از متد Slide.get_image(scale_x,scale_y) یک تصویر از اسلاید ایجاد کنید.
  4. متد IImage.save(filename,format) را بر روی شیء تصویر فراخوانی کنید. نام فایل خروجی و فرمت تصویر را به عنوان آرگومان‌ها پاس دهید.
import aspose.slides as slides

scale_x = 1
scale_y = scale_x

with slides.Presentation("PowerPoint_Presentation.ppt") as presentation:
    for slide in presentation.slides:
        with slide.get_image(scale_x, scale_y) as thumbnail:
            # تصویر را در فرمت JPEG روی دیسک ذخیره کنید.
            file_name = f"Slide_{slide.slide_number}.jpg"
            thumbnail.save(file_name, slides.ImageFormat.JPEG)

تبدیل اسلایدها به JPG با ابعاد سفارشی

برای تغییر ابعاد تصاویر JPG تولید شده می‌توانید اندازه تصویر را با عبور آن به متد Slide.get_image(image_size) تنظیم کنید. این امکان به شما اجازه می‌دهد تصاویر با مقادیر عرض و ارتفاع مشخص تولید کنید تا خروجی با رزولوشن و نسبت تصویر مورد نیاز شما هم‌خوانی داشته باشد. این انعطاف‌پذیری به‌ویژه هنگام تولید تصاویر برای برنامه‌های وب، گزارش‌ها یا مستندات که ابعاد دقیق تصویر ضروری است، مفید است.

import aspose.slides as slides
import aspose.pydrawing as pydrawing

image_size = pydrawing.Size(1200, 800)

with slides.Presentation("PowerPoint_Presentation.pptx") as presentation:
    for slide in presentation.slides:
        # یک تصویر اسلاید با اندازه مشخص ایجاد کنید.
        with slide.get_image(image_size) as thumbnail:
            # تصویر را در فرمت JPEG روی دیسک ذخیره کنید.
            file_name = f"Slide_{slide.slide_number}.jpg"
            thumbnail.save(file_name, slides.ImageFormat.JPEG)

رندر نظرات هنگام ذخیره اسلایدها به عنوان تصاویر

Aspose.Slides برای Python ویژگی‌ای ارائه می‌دهد که به شما امکان رندر نظرات روی اسلایدهای یک ارائه را هنگام تبدیل آن‌ها به تصاویر JPG می‌دهد. این قابلیت برای حفظ حواشی، بازخوردها یا بحث‌های اضافه‌شده توسط همکاران در ارائه‌های PowerPoint بسیار مفید است. با فعال‌سازی این گزینه، نظرات در تصاویر تولید شده نمایش داده می‌شوند و بررسی و به‌اشتراک‌گذاری بازخورد بدون نیاز به باز کردن فایل اصلی ارائه آسان‌تر می‌شود.

فرض کنید فایلی به نام “sample.pptx” داریم که شامل اسلایدی با نظرات است:

The slide with comments

کد Python زیر اسلاید را به تصویر JPG تبدیل می‌کند و نظرات را حفظ می‌نماید:

import aspose.slides as slides
import aspose.pydrawing as pydrawing

scale_x = 1
scale_y = scale_x

with slides.Presentation("sample.pptx") as presentation:
    # گزینه‌های نظرات اسلاید را تنظیم کنید.
    comments_options = slides.export.NotesCommentsLayoutingOptions()
    comments_options.comments_position = slides.export.CommentsPositions.RIGHT
    comments_options.comments_area_width = 200
    comments_options.comments_area_color = pydrawing.Color.dark_orange

    options = slides.export.RenderingOptions()
    options.slides_layout_options = comments_options

    # اسلاید اول را به یک تصویر تبدیل کنید.
    with presentation.slides[0].get_image(options, scale_x, scale_y) as thumbnail:
        thumbnail.save("Slide_1.jpg", slides.ImageFormat.JPEG)

نتیجه:

The JPG image with comments

موارد دیگر

مبدل آنلاین رایگان PPTX به JPG

پرسش‌های متداول

آیا این روش از تبدیل دسته‌ای پشتیبانی می‌کند؟
بله، Aspose.Slides امکان تبدیل دسته‌ای چندین اسلاید به JPG را در یک عملیات فراهم می‌کند.

آیا تبدیل از SmartArt، نمودارها و سایر اشیای پیچیده پشتیبانی می‌کند؟
بله، Aspose.Slides تمام محتوا شامل SmartArt، نمودارها، جدول‌ها، اشکال و غیره را رندر می‌کند. با این حال دقت رندر ممکن است نسبت به PowerPoint کمی متفاوت باشد، به‌ویژه هنگام استفاده از فونت‌های سفارشی یا گمشده.

آیا محدودیتی برای تعداد اسلایدهای قابل پردازش وجود دارد؟
Aspose.Slides خود محدودیت سخت‌گیری برای تعداد اسلایدها اعمال نمی‌کند. اما ممکن است با خطای کمبود حافظه هنگام کار با ارائه‌های بزرگ یا تصاویر با رزولوشن بالا مواجه شوید.