Konvertera PowerPoint‑bilder till PNG i PHP

Översikt

Den här artikeln förklarar hur du konverterar PowerPoint‑presentationer till PNG‑bilder med Aspose.Slides. Den visar hur du laddar presentationsfiler i format såsom PPT, PPTX och ODP, renderar bilder som bilder och sparar resultaten i PNG‑format.

Artikeln visar också hur du anpassar de genererade PNG‑bilderna genom att ange skalvärden eller specificera önskad bredd och höjd.

Konvertera PowerPoint till PNG

Gå igenom dessa steg:

  1. Skapa en instans av klassen Presentation.
  2. Hämta bildobjektet från samlingen Presentation.getSlides() under klassen Slide.
  3. Använd metoden Slide.getImage() för att få miniatyrbilden för varje bild.
  4. Använd metoden IImage.save(String formatName, int imageFormat) för att spara bildens miniatyr till PNG‑format.

Den här PHP‑koden visar hur du konverterar en PowerPoint‑presentation till 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();
    }
  }

Konvertera PowerPoint till PNG med anpassade dimensioner

Om du vill få PNG‑filer med en viss skala kan du ange värdena för desiredX och desiredY, som bestämmer dimensionerna på den resulterande miniatyrbilden.

Den här koden demonstrerar den beskrivna operationen:

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

Konvertera PowerPoint till PNG med anpassad storlek

Om du vill få PNG‑filer med en viss storlek kan du skicka dina föredragna argument width och height för ImageSize.

Den här koden visar hur du konverterar en PowerPoint till PNG samtidigt som du specificerar storleken på bilderna:

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

Vanliga frågor

Hur kan jag exportera endast en specifik form (t.ex. diagram eller bild) istället för hela bilden?

Aspose.Slides stöder generering av miniatyrer för enskilda former; du kan rendera en form till en PNG‑bild.

Stöds parallell konvertering på en server?

Ja, men dela inte en enda presentationsinstans över trådar. Använd en separat instans per tråd eller process.

Vilka är begränsningarna i utvärderingsversionen vid export till PNG?

Utvärderingsläget lägger till ett vattenmärke på utdatabilderna och tillämpar andra begränsningar tills en licens har tillämpats.