Převod PPT a PPTX na JPG v PHP
Úvod
Převod prezentací PowerPoint a OpenDocument do JPG obrázků pomáhá při sdílení snímků, optimalizaci výkonu a vkládání obsahu do webových stránek nebo aplikací. Aspose.Slides vám umožňuje převést soubory PPTX, PPT a ODP na vysoce kvalitní JPEG obrázky. Tento průvodce vysvětluje různé metody převodu.
S těmito funkcemi je snadné implementovat vlastní prohlížeč prezentací a vytvořit náhled pro každý snímek. To může být užitečné, pokud chcete chránit snímky prezentace před kopírováním nebo ukázat prezentaci v režimu jen pro čtení. Aspose.Slides vám umožňuje převést celou prezentaci nebo konkrétní snímek do formátů obrázků.
Převod PowerPoint PPT/PPTX na JPG
Zde jsou kroky pro převod PPT/PPTX na JPG:
- Vytvořte instanci typu Presentation.
- Získejte objekt snímku typu Slide z kolekce Presentation::getSlides() .
- Vytvořte náhled každého snímku a poté jej převedete na JPG. Metoda Slide::getImage(float scaleX, float scaleY) se používá k získání náhledu snímku. Metodu getImage je třeba zavolat na požadovaném snímku typu Slide, přičemž měřítka výsledného náhledu se předají metodě.
- Po získání náhledu snímku zavolejte metodu [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/cs/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) z objektu náhledu. Předáte jí výsledný název souboru a formát obrázku.
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
foreach($pres->getSlides() as $sld) {
# Vytvoří obrázek v plném měřítku
$slideImage = $sld->getImage(1.0, 1.0);
# Uloží obrázek na disk ve formátu 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();
}
}
Převod PowerPoint PPT/PPTX na JPG s přizpůsobenými rozměry
Aby bylo možné změnit rozměry výsledného náhledu a JPG obrázku, můžete nastavit hodnoty ScaleX a ScaleY jejich předáním do metod Slide::getImage(float scaleX, float scaleY):
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# Definuje rozměry
$desiredX = 1200;
$desiredY = 800;
# Získá škálované hodnoty X a Y
$ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
$ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
foreach($pres->getSlides() as $sld) {
# Vytvoří obrázek v plném měřítku
$slideImage = $sld->getImage($ScaleX, $ScaleY);
# Uloží obrázek na disk ve formátu 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();
}
}
Vykreslení komentářů při ukládání snímků jako obrázky
Aspose.Slides pro PHP přes Java poskytuje funkci, která vám umožní vykreslovat komentáře ve snímcích prezentace při jejich převodu na obrázky. Tento PHP kód demonstruje operaci:
$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();
}
}
Tip
Aspose poskytuje FREE Collage web app. Pomocí této online služby můžete sloučit JPG to JPG nebo PNG to PNG obrázky, vytvořit photo grids a tak dále.
Pomocí stejných principů popsaných v tomto článku můžete převádět obrázky z jednoho formátu do druhého. Pro více informací viz tyto stránky: convert image to JPG; convert JPG to image; convert JPG to PNG, convert PNG to JPG; convert PNG to SVG, convert SVG to PNG.
FAQ
Podporuje tato metoda dávkový převod?
Ano, Aspose.Slides umožňuje dávkový převod více snímků do JPG v jedné operaci.
Podporuje převod SmartArt, grafy a další složité objekty?
Ano, Aspose.Slides vykresluje veškerý obsah, včetně SmartArt, grafů, tabulek, tvarů a dalších. Přesnost vykreslování se však může mírně lišit oproti PowerPointu, zejména při použití vlastních nebo chybějících fontů.
Existují nějaká omezení počtu snímků, které lze zpracovat?
Aspose.Slides sám neklade žádná přísná omezení na počet snímků, které můžete zpracovat. Nicméně můžete narazit na chybu nedostatku paměti při práci s velkými prezentacemi nebo obrázky vysokého rozlišení.
Viz také
Podívejte se na další možnosti převodu PPT/PPTX na obrázek, například: