تحويل شرائح PowerPoint إلى PNG في PHP

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

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

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

تحويل PowerPoint إلى PNG

اتبع الخطوات التالية:

  1. إنشاء كائن من الفئة Presentation.
  2. احصل على كائن الشريحة من مجموعة Presentation.getSlides() تحت الواجهة ISlide.
  3. استخدم الطريقة ISlide.getImage() للحصول على الصورة المصغرة لكل شريحة.
  4. استخدم الطريقة [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) لحفظ الصورة المصغرة للشريحة بتنسيق PNG.

يوضح لك هذا الكود PHP كيفية تحويل عرض PowerPoint إلى PNG:

  $pres = new Presentation("pres.pptx");
  try {
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage();
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

تحويل PowerPoint إلى PNG بأبعاد مخصصة

إذا كنت تريد الحصول على ملفات PNG بحجم معين، يمكنك تعيين القيم لـ desiredX و desiredY، والتي تحدد أبعاد الصورة المصغرة الناتجة.

يعرض هذا الكود العملية الموصوفة:

  $pres = new Presentation("pres.pptx");
  try {
    $scaleX = 2.0;
    $scaleY = 2.0;
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage($scaleX, $scaleY);
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

تحويل PowerPoint إلى PNG بحجم مخصص

إذا كنت تريد الحصول على ملفات PNG بحجم معين، يمكنك تمرير القيم المفضلة width و height لـ ImageSize.

يظهر لك هذا الكود كيفية تحويل PowerPoint إلى PNG مع تحديد الحجم للصور:

  $pres = new Presentation("pres.pptx");
  try {
    $size = new Java("java.awt.Dimension", 960, 720);
    for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
      $slide = $pres->getSlides()->get_Item($index);
      $slideImage = $slide->getImage($size);
      try {
        $slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

الأسئلة المتكررة

كيف يمكنني تصدير شكل معين فقط (مثل مخطط أو صورة) بدلاً من الشريحة بأكملها؟

يدعم Aspose.Slides إنشاء صور مصغرة للأشكال الفردية; يمكنك تحويل الشكل إلى صورة PNG.

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

نعم، ولكن لا تشارك كائن عرض واحد عبر الخيوط. استخدم كائنًا منفصلًا لكل خيط أو عملية.

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

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