Konversi PPT dan PPTX ke JPG di PHP

Pengantar

Mengonversi presentasi PowerPoint dan OpenDocument ke gambar JPG membantu dalam berbagi slide, mengoptimalkan kinerja, dan menyematkan konten ke situs web atau aplikasi. Aspose.Slides memungkinkan Anda mengubah file PPTX, PPT, dan ODP menjadi gambar JPEG berkualitas tinggi. Panduan ini menjelaskan berbagai metode konversi.

Dengan fitur-fitur ini, mudah untuk mengimplementasikan penampil presentasi Anda sendiri dan membuat thumbnail untuk setiap slide. Ini dapat berguna jika Anda ingin melindungi slide presentasi dari penyalinan atau menampilkan presentasi dalam mode hanya-baca. Aspose.Slides memungkinkan Anda mengonversi seluruh presentasi atau slide tertentu ke format gambar.

Konversi PowerPoint PPT/PPTX ke JPG

  1. Buat instance tipe Presentation.
  2. Dapatkan objek slide tipe Slide dari koleksi Presentation::getSlides().
  3. Buat thumbnail setiap slide dan kemudian konversi ke JPG. Metode Slide::getImage(float scaleX, float scaleY) digunakan untuk mendapatkan thumbnail sebuah slide. Metode getImage harus dipanggil dari slide yang diperlukan tipe Slide, skala thumbnail yang dihasilkan diberikan ke metode.
  4. Setelah Anda mendapatkan thumbnail slide, panggil metode [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/id/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) dari objek thumbnail. Berikan nama file yang dihasilkan dan format gambar ke dalamnya.
  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    foreach($pres->getSlides() as $sld) {
      # Membuat gambar skala penuh
      $slideImage = $sld->getImage(1.0, 1.0);
      # Menyimpan gambar ke disk dalam format 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();
    }
  }

Konversi PowerPoint PPT/PPTX ke JPG dengan Dimensi yang Disesuaikan

Untuk mengubah dimensi thumbnail dan gambar JPG yang dihasilkan, Anda dapat mengatur nilai ScaleX dan ScaleY dengan melewatkannya ke metode Slide::getImage(float scaleX, float scaleY).

  $pres = new Presentation("PowerPoint-Presentation.pptx");
  try {
    # Mendefinisikan dimensi
    $desiredX = 1200;
    $desiredY = 800;
    # Mendapatkan nilai skala X dan Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    foreach($pres->getSlides() as $sld) {
      # Membuat gambar skala penuh
      $slideImage = $sld->getImage($ScaleX, $ScaleY);
      # Menyimpan gambar ke disk dalam format 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();
    }
  }

Render Komentar Saat Menyimpan Slide sebagai Gambar

Aspose.Slides untuk PHP via Java menyediakan fasilitas yang memungkinkan Anda merender komentar pada slide presentasi saat mengonversi slide tersebut menjadi gambar. Kode PHP ini menunjukkan operasinya:

  $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();
    }
  }

FAQ

Apakah metode ini mendukung konversi batch?

Ya, Aspose.Slides memungkinkan konversi batch banyak slide ke JPG dalam satu operasi.

Apakah konversi mendukung SmartArt, diagram, dan objek kompleks lainnya?

Ya, Aspose.Slides merender semua konten, termasuk SmartArt, diagram, tabel, bentuk, dan lainnya. Namun, akurasi render dapat sedikit berbeda dibandingkan PowerPoint, terutama ketika menggunakan font khusus atau yang tidak tersedia.

Apakah ada batasan jumlah slide yang dapat diproses?

Aspose.Slides sendiri tidak memberlakukan batasan ketat pada jumlah slide yang dapat Anda proses. Namun, Anda mungkin mengalami kesalahan out-of-memory saat bekerja dengan presentasi besar atau gambar beresolusi tinggi.

Lihat Juga

Lihat opsi lain untuk mengonversi PPT/PPTX menjadi gambar seperti: