Převod snímků PowerPoint do PNG v PHP
Přehled
Tento článek vysvětluje, jak převést prezentace PowerPoint na obrázky PNG pomocí Aspose.Slides. Ukazuje, jak načíst soubory prezentací ve formátech jako PPT, PPTX a ODP, renderovat snímky jako obrázky a uložit výsledky ve formátu PNG.
Článek také demonstruje, jak přizpůsobit generované obrázky PNG nastavením hodnot měřítka nebo zadáním požadované šířky a výšky.
Převod PowerPointu do PNG
Postupujte podle těchto kroků:
- Vytvořte instanci třídy Presentation.
- Získejte objekt snímku z kolekce Presentation.getSlides() pod třídy Slide.
- Použijte metodu Slide.getImage() pro získání miniatury každého snímku.
- Použijte metodu IImage.save(String formatName, int imageFormat) pro uložení miniatury snímku do formátu PNG.
Tento PHP kód ukazuje, jak převést prezentaci PowerPoint do 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();
}
}
Převod PowerPointu do PNG s vlastními rozměry
Pokud chcete získat soubory PNG v určitém měřítku, můžete nastavit hodnoty desiredX a desiredY, které určují rozměry výsledné miniatury.
Tento kód demonstruje popsanou operaci:
$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();
}
}
Převod PowerPointu do PNG s vlastní velikostí
Pokud chcete získat soubory PNG v určité velikosti, můžete předat své preferované argumenty width a height pro ImageSize.
Tento kód ukazuje, jak převést PowerPoint do PNG při zadání velikosti obrázků:
$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();
}
}
Často kladené otázky
Jak mohu exportovat pouze konkrétní tvar (např. graf nebo obrázek) místo celého snímku?
Aspose.Slides podporuje generování miniatur pro jednotlivé tvary; můžete vykreslit tvar do PNG obrázku.
Je paralelní konverze podporována na serveru?
Ano, ale nesdílejte jednu instanci prezentace mezi vlákny. Používejte samostatnou instanci pro každé vlákno nebo proces.
Jaká jsou omezení zkušební verze při exportu do PNG?
Režim hodnocení přidává vodoznak k výstupním obrázkům a uplatňuje další omezení, dokud není licence použita.