Converti diapositive PowerPoint in PNG con Python
Panoramica
Questo articolo spiega come convertire presentazioni PowerPoint in immagini PNG utilizzando Aspose.Slides per Python via Java. È possibile caricare file PPT, PPTX e ODP, renderizzare ogni diapositiva e salvarla come immagine PNG separata.
Gli esempi mostrano anche come controllare le dimensioni dell’output tramite fattori di scala o una larghezza e altezza precise. Ogni esempio avvia la macchina virtuale Java se necessario e rilascia le risorse della presentazione e dell’immagine dopo l’uso.
Converti PowerPoint in PNG
- Carica il file di input con la classe Presentation.
- Recupera le diapositive usando Presentation.getSlides.
- Renderizza ogni diapositiva usando Slide.getImage.
- Salva ogni immagine renderizzata con ImageFormat.Png, quindi rilascia le relative risorse.
Il seguente esempio Python esporta tutte le diapositive con le loro dimensioni predefinite:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
presentation = Presentation("presentation.pptx")
try:
for index, slide in enumerate(presentation.getSlides(), start=1):
slide_image = slide.getImage()
try:
slide_image.save(f"slide_{index}.png", ImageFormat.Png)
finally:
slide_image.dispose()
finally:
presentation.dispose()
Converti PowerPoint in PNG con una scala personalizzata
Passa i fattori di scala orizzontali e verticali a Slide.getImage per aumentare o diminuire le dimensioni dell’output. Ad esempio, una diapositiva di 720 × 540 punti renderizzata con un fattore di scala di 2 su entrambi gli assi produce un’immagine di 1440 × 1080 pixel.
Usa fattori di scala uguali per preservare il rapporto d’aspetto della diapositiva. Fattori diversi allungano la diapositiva orizzontalmente o verticalmente.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
presentation = Presentation("presentation.pptx")
try:
scale_x = 2.0
scale_y = 2.0
for index, slide in enumerate(presentation.getSlides(), start=1):
slide_image = slide.getImage(scale_x, scale_y)
try:
slide_image.save(f"slide_scaled_{index}.png", ImageFormat.Png)
finally:
slide_image.dispose()
finally:
presentation.dispose()
Converti PowerPoint in PNG con una dimensione personalizzata
Per specificare dimensioni pixel precise, passa un oggetto Java Dimension con la larghezza e l’altezza desiderate a Slide.getImage. Scegli dimensioni con lo stesso rapporto d’aspetto della diapositiva di origine per evitare distorsioni.
Il seguente esempio salva ogni diapositiva come immagine PNG di 960 × 720 pixel:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ImageFormat, Presentation
from java.awt import Dimension
presentation = Presentation("presentation.pptx")
try:
image_size = Dimension(960, 720)
for index, slide in enumerate(presentation.getSlides(), start=1):
slide_image = slide.getImage(image_size)
try:
slide_image.save(f"slide_sized_{index}.png", ImageFormat.Png)
finally:
slide_image.dispose()
finally:
presentation.dispose()
FAQ
Posso esportare una forma individuale, come un grafico o un’immagine, invece dell’intera diapositiva?
Sì. Aspose.Slides supporta la generazione di miniature per forme individuali, che è possibile salvare come immagini PNG. [/slides/it/python-java/create-shape-thumbnails/]
Posso convertire presentazioni in parallelo su un server?
Utilizza un’istanza di presentazione separata per ogni thread o processo e usa percorsi di output unici per evitare che i file vengano sovrascritti. Non condividere un’istanza di presentazione tra thread. Vedi [/slides/it/python-java/multithreading/].
Quali sono le limitazioni della versione di prova durante l’esportazione in PNG?
La modalità di valutazione aggiunge una filigrana alle immagini di output e applica altre restrizioni. Applica una licenza per rimuovere queste limitazioni. [/slides/it/python-java/licensing/]