تحويل ملفات PPT و PPTX إلى JPG في PHP

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

مع Aspose.Slides API يمكنك تحويل عرض PowerPoint PPT أو PPTX إلى صورة JPG. كما يمكنك أيضًا تحويل PPT/PPTX إلى JPEG أو PNG أو SVG. باستخدام هذه الميزات يصبح من السهل تنفيذ عارض العروض الخاص بك، وإنشاء صورة مصغرة لكل شريحة. قد يكون هذا مفيدًا إذا كنت تريد حماية شرائح العرض من النسخ، أو عرض العرض في وضع القراءة فقط. يتيح Aspose.Slides تحويل العرض بالكامل أو شريحة معينة إلى صيغ صور.

[todo:image_alt_text

تحويل PowerPoint PPT/PPTX إلى JPG

فيما يلي الخطوات لتحويل PPT/PPTX إلى JPG:

  1. إنشاء نسخة من النوع Presentation.
  2. الحصول على كائن الشريحة من النوع ISlide من مجموعة Presentation.getSlides().
  3. إنشاء صورة مصغرة لكل شريحة ثم تحويلها إلى JPG. تُستخدم طريقة ISlide.getImage(float scaleX, float scaleY) للحصول على صورة مصغرة للشريحة، وتُعيد كائن Images كنتيجة. يجب استدعاء طريقة getImage من الشريحة المطلوبة من النوع ISlide، حيث يتم تمرير مقاييس الصورة المصغرة الناتجة إلى الطريقة.
  4. بعد الحصول على الصورة المصغرة للشريحة، استدعِ طريقة [IImage.save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) من كائن الصورة المصغرة. مرّر اسم الملف الناتج وصيغة الصورة إليها.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # ينشئ صورة بمقياس كامل
      $slideImage = $sld->getImage(1.0, 1.0);
      # يحفظ الصورة على القرص بتنسيق JPEG
      try {
        $slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

تحويل PowerPoint PPT/PPTX إلى JPG بأبعاد مخصصة

لتغيير أبعاد الصورة المصغرة الناتجة وصورة JPG، يمكنك تعيين قيم ScaleX و ScaleY بتمريرهما إلى طرق ISlide.getImage(float scaleX, float scaleY).

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # يعرّف الأبعاد
    $desiredX = 1200;
    $desiredY = 800;
    # يحصل على القيم المقاسة لـ X و Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # ينشئ صورة بمقياس كامل
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # يحفظ الصورة على القرص بتنسيق JPEG
      try {
        $slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

عرض التعليقات عند حفظ الشرائح كصور

يوفر Aspose.Slides للـ PHP عبر Java ميزة تتيح لك عرض التعليقات في شرائح العرض عند تحويل تلك الشرائح إلى صور. يوضح هذا الكود PHP العملية:

  $pres = new Presentation("presentation.pptx");
  try {
    $notesOptions = new NotesCommentsLayoutingOptions();
    $notesOptions->setNotesPosition(NotesPositions::BottomTruncated);
    $opts = new RenderingOptions();
    $opts->setSlidesLayoutOptions($notesOptions);
    foreach($pres->getSlides() as $sld) {
      $slideImage = $sld->getImage($opts, new Java("java.awt.Dimension", 740, 960));
      try {
        $slideImage->save(String->format("Slide_%d.png", $sld->getSlideNumber()));
      } finally {
        if (!java_is_null($slideImage)) {
          $slideImage->dispose();
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

الأسئلة الشائعة

هل يدعم هذه الطريقة التحويل على دفعات؟ نعم، يتيح Aspose.Slides التحويل الجماعي لعدة شرائح إلى JPG في عملية واحدة.

هل يدعم التحويل SmartArt والرسوم البيانية وغيرها من الكائنات المعقدة؟ نعم، يقوم Aspose.Slides بعرض جميع المحتويات، بما في ذلك SmartArt والرسوم البيانية والجداول والأشكال وغيرها. ومع ذلك، قد تختلف دقة العرض قليلًا مقارنةً بـ PowerPoint، خاصةً عند استخدام خطوط مخصصة أو مفقودة.

هل هناك أي قيود على عدد الشرائح التي يمكن معالجتها؟ لا يفرض Aspose.Slides نفسه أي حدود صارمة على عدد الشرائح التي يمكنك معالجتها. ومع ذلك، قد تواجه خطأ نفاد الذاكرة عند العمل على عروض تقديمية كبيرة أو صور ذات دقة عالية.

انظر أيضًا

انظر خيارات أخرى لتحويل PPT/PPTX إلى صورة مثل: