Converter PPT e PPTX para JPG em PHP
Introdução
Converter apresentações PowerPoint e OpenDocument para imagens JPG ajuda na tarefa de compartilhar slides, otimizar o desempenho e incorporar conteúdo em sites ou aplicativos. O Aspose.Slides permite transformar arquivos PPTX, PPT e ODP em imagens JPEG de alta qualidade. Este guia explica diferentes métodos para conversão.
Com esses recursos, é fácil implementar seu próprio visualizador de apresentações e criar uma miniatura para cada slide. Isso pode ser útil se você quiser proteger os slides da apresentação contra cópia ou demonstrar a apresentação em modo somente leitura. O Aspose.Slides permite converter a apresentação inteira ou um slide específico em formatos de imagem.
Converter PowerPoint PPT/PPTX para JPG
- Crie uma instância do tipo Presentation.
- Obtenha o objeto de slide do tipo Slide a partir da coleção Presentation::getSlides().
- Crie a miniatura de cada slide e depois converta-a para JPG. O método Slide::getImage(float scaleX, float scaleY) é usado para obter uma miniatura de um slide. O método getImage deve ser chamado a partir do slide necessário do tipo Slide, e as escalas da miniatura resultante são passadas para o método.
- Depois de obter a miniatura do slide, chame o método [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/pt/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) a partir do objeto da miniatura. Passe o nome do arquivo resultante e o formato da imagem para ele.
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
foreach($pres->getSlides() as $sld) {
# Cria uma imagem em escala total
$slideImage = $sld->getImage(1.0, 1.0);
# Salva a imagem no disco em formato 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();
}
}
Converter PowerPoint PPT/PPTX para JPG com Dimensões Personalizadas
Para alterar a dimensão da miniatura e da imagem JPG resultantes, você pode definir os valores ScaleX e ScaleY passando‑os para os métodos Slide::getImage(float scaleX, float scaleY):
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# Define as dimensões
$desiredX = 1200;
$desiredY = 800;
# Obtém valores escalados de X e Y
$ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
$ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
foreach($pres->getSlides() as $sld) {
# Cria uma imagem em escala total
$slideImage = $sld->getImage($ScaleX, $ScaleY);
# Salva a imagem no disco em formato 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();
}
}
Renderizar Comentários ao Salvar Slides como Imagens
O Aspose.Slides for PHP via Java oferece um recurso que permite renderizar comentários nos slides de uma apresentação ao convertê‑los em imagens. Este código PHP demonstra a operação:
$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();
}
}
Dica
A Aspose oferece um aplicativo web GRATUITO de Colagem. Usando este serviço online, você pode mesclar imagens JPG para JPG ou PNG para PNG, criar grades de fotos e assim por diante.
Usando os mesmos princípios descritos neste artigo, você pode converter imagens de um formato para outro. Para mais informações, consulte estas páginas: converter imagem para JPG; converter JPG para imagem; converter JPG para PNG, converter PNG para JPG; converter PNG para SVG, converter SVG para PNG.
Perguntas Frequentes
Este método suporta conversão em lote?
Sim, o Aspose.Slides permite a conversão em lote de vários slides para JPG em uma única operação.
A conversão suporta SmartArt, gráficos e outros objetos complexos?
Sim, o Aspose.Slides renderiza todo o conteúdo, incluindo SmartArt, gráficos, tabelas, formas e muito mais. Contudo, a precisão da renderização pode variar ligeiramente em relação ao PowerPoint, especialmente ao usar fontes personalizadas ou ausentes.
Existem limitações no número de slides que podem ser processados?
O próprio Aspose.Slides não impõe limites rígidos ao número de slides que você pode processar. No entanto, pode ocorrer erro de falta de memória ao trabalhar com apresentações grandes ou imagens de alta resolução.
Veja Também
Veja outras opções para converter PPT/PPTX em imagem como: