تبدیل اسلایدهای پاورپوینت به PNG در C++

مرور کلی

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

همچنین این مقاله نحوه سفارشی‌سازی تصاویر PNG تولید شده را با تنظیم مقادیر مقیاس یا تعیین عرض و ارتفاع موردنظر نشان می‌دهد.

تبدیل PowerPoint به PNG

این مراحل را دنبال کنید:

  1. نمونه‌سازی کلاس Presentation.
  2. شی اسلاید را از مجموعه Presentation::get_Slides() در زیررابط ISlide دریافت کنید.
  3. از متد ISlide::GetImage() برای دریافت تصویر بندانگشتی هر اسلاید استفاده کنید.
  4. از متد IImage::Save(String, ImageFormatPtr برای ذخیره تصویر بندانگشتی اسلاید در قالب PNG استفاده کنید.

این کد C++ نشان می‌دهد چگونه یک ارائه PowerPoint را به PNG تبدیل کنید:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage()->Save(fileName, ImageFormat::Png);
}

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

اگر می‌خواهید فایل‌های PNG را با مقیاس خاصی بدست آورید، می‌توانید مقادیر desiredX و desiredY را تعیین کنید که ابعاد تصویر بندانگشتی نهایی را مشخص می‌کنند.

این کد C++ عملیات توصیف‌شده را نشان می‌دهد:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

float scaleX = 2.f;
float scaleY = 2.f;
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(scaleX, scaleY)->Save(fileName, ImageFormat::Png);
}

تبدیل PowerPoint به PNG با اندازه سفارشی

اگر می‌خواهید فایل‌های PNG را با اندازه خاصی بدست آورید، می‌توانید آرگومان‌های width و height موردنظر خود را برای ImageSize ارسال کنید.

این کد نشان می‌دهد چگونه یک PowerPoint را به PNG تبدیل کنید در حالی که اندازه تصاویر را مشخص می‌کنید:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    
Size size(960, 720);
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto slide = pres->get_Slides()->idx_get(index);
    auto fileName = String::Format(u"slide_{0}.png", index);
    slide->GetImage(size)->Save(fileName, ImageFormat::Png);
}

سؤالات متداول

چگونه می‌توانم فقط یک شکل خاص (مثلاً نمودار یا تصویر) را به‌جای کل اسلاید صادر کنم؟
Aspose.Slides از ایجاد تصویر بندانگشتی برای اشکال جداگانه پشتیبانی می‌کند؛ می‌توانید یک شکل را به تصویر PNG رندر کنید.

آیا تبدیل موازی بر روی سرور پشتیبانی می‌شود؟
بله، اما نشرنکنید یک نمونه ارائه را بین رشته‌ها. برای هر رشته یا فرآیند از یک نمونه جداگانه استفاده کنید.

محدودیت‌های نسخه آزمایشی هنگام صادرات به PNG چیست؟
حالت ارزیابی یک واترمارک به تصاویر خروجی اضافه می‌کند و تا زمانی که لایسنس اعمال نشود، محدودیت‌های دیگری را اعمال می‌کند.