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:
- Skapa en instans av klassen Presentation.
- Hämta bildobjektet från samlingen Presentation.getSlides() under klassen Slide.
- Använd metoden Slide.getImage() för att få miniatyrbilden för varje bild.
- 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.