Converter PPT e PPTX para JPG em Python
Introdução
Aspose.Slides for Python via Java permite converter apresentações PowerPoint e OpenDocument (PPT, PPTX e ODP) em imagens JPEG. Você pode exportar cada slide ou um slide selecionado para criar miniaturas, construir um visualizador de apresentações ou incorporar pré‑visualizações de slides em um site ou aplicativo.
Converter PowerPoint PPT/PPTX para JPG
- Carregue a apresentação com Presentation.
- Recupere os slides usando getSlides.
- Chame Slide.getImage com fatores de escala horizontal e vertical para renderizar cada slide.
- Salve cada imagem renderizada como JPEG usando ImageFormat.Jpeg, e então libere os recursos da imagem.
Nota
Exportar para JPG cria uma imagem separada para cada slide. Salve a imagem renderizada em vez de salvar a apresentação diretamente em um formato de imagem.import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
presentation = Presentation("presentation.pptx")
try:
for slide in presentation.getSlides():
slide_image = slide.getImage(1.0, 1.0)
try:
slide_image.save(f"Slide_{slide.getSlideNumber()}.jpg", ImageFormat.Jpeg)
finally:
slide_image.dispose()
finally:
presentation.dispose()
Converter PowerPoint PPT/PPTX para JPG com Dimensões Personalizadas
Calcule os fatores de escala horizontal e vertical a partir das dimensões em pixels desejadas e do tamanho original do slide, e então passe‑os para Slide.getImage. O exemplo a seguir visa uma imagem de 1200 × 800 para cada slide.
Usar fatores de escala diferentes pode esticar o slide. Para preservar sua proporção, use o mesmo fator de escala para ambos os eixos; a largura e altura resultantes seguirão então as proporções originais do slide.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
presentation = Presentation("presentation.pptx")
try:
desired_width = 1200
desired_height = 800
slide_size = presentation.getSlideSize().getSize()
scale_x = desired_width / slide_size.getWidth()
scale_y = desired_height / slide_size.getHeight()
for slide in presentation.getSlides():
slide_image = slide.getImage(scale_x, scale_y)
try:
slide_image.save(f"Slide_{slide.getSlideNumber()}.jpg", ImageFormat.Jpeg)
finally:
slide_image.dispose()
finally:
presentation.dispose()
Renderizar Comentários ao Salvar Slides como Imagens
Use NotesCommentsLayoutingOptions para configurar notas e comentários, e aplique o layout através de RenderingOptions.setSlidesLayoutOptions. Este exemplo posiciona as notas na parte inferior, truncando notas que não cabem, e exibe os comentários à direita em uma área de 200 pixels de largura. Ele salva cada slide renderizado como uma imagem JPG.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import CommentsPositions, ImageFormat, NotesCommentsLayoutingOptions, NotesPositions, Presentation, RenderingOptions
from java.awt import Dimension
presentation = Presentation("presentation.pptx")
try:
layout_options = NotesCommentsLayoutingOptions()
layout_options.setNotesPosition(NotesPositions.BottomTruncated)
layout_options.setCommentsPosition(CommentsPositions.Right)
layout_options.setCommentsAreaWidth(200)
rendering_options = RenderingOptions()
rendering_options.setSlidesLayoutOptions(layout_options)
image_size = Dimension(740, 960)
for slide in presentation.getSlides():
slide_image = slide.getImage(rendering_options, image_size)
try:
slide_image.save(f"Slide_{slide.getSlideNumber()}.jpg", ImageFormat.Jpeg)
finally:
slide_image.dispose()
finally:
presentation.dispose()
FAQ
Posso converter múltiplos slides ou apresentações para JPG?
Sim. Os exemplos percorrem todos os slides e salvam um JPG por slide. Para processar várias apresentações, repita a conversão para cada arquivo de entrada e use pastas de saída separadas ou nomes de arquivos exclusivos para evitar sobrescrever as imagens.
Gráficos, SmartArt, tabelas e formas são incluídos nas imagens?
Esses objetos são renderizados como parte do slide. Disponibilize as fontes usadas na apresentação no ambiente de conversão para reduzir diferenças causadas por substituição de fontes.
Como posso reduzir o uso de memória ao exportar apresentações grandes?
Processar as imagens uma de cada vez, liberar cada imagem após salvá‑la e evitar dimensões de saída desnecessariamente grandes. Os requisitos de memória dependem do conteúdo do slide e do tamanho da imagem.