تحويل شرائح PowerPoint إلى PNG باستخدام C++

حول تحويل PowerPoint إلى PNG

يُعد تنسيق PNG (Portable Network Graphics) أقل شيوعًا من JPEG (Joint Photographic Experts Group)، لكنه لا يزال شائعًا جدًا.

حالة الاستخدام: عندما يكون لديك صورة معقدة ولا تشكل حجمها مشكلة، يكون PNG تنسيق صورة أفضل من JPEG.

تحويل 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.

هل يدعم التحويل المتوازي على الخادم؟

نعم، ولكن لا تُشَارِك presentation واحدًا عبر الخيوط. استخدم مثيلًا منفصلًا لكل خيط أو عملية.

ما هي قيود الإصدار التجريبي عند التصدير إلى PNG؟

يضيف وضع التقييم علامة مائية على الصور المُخرجة ويفرض قيودًا أخرى حتى يتم تطبيق الترخيص.