PowerPoint diák konvertálása PNG-re Pythonban

Áttekintés

Ez a cikk elmagyarázza, hogyan lehet a PowerPoint bemutatókat PNG képekké konvertálni az Aspose.Slides for Python via Java használatával. Betöltheti a PPT, PPTX és ODP fájlokat, megjelenítheti az egyes diát, és külön PNG képként mentheti el.

A példák azt is bemutatják, hogyan lehet a kimeneti méreteket skálázási tényezőkkel vagy pontos szélesség és magasság megadásával szabályozni. Minden példa elindítja a Java virtuális gépet, ha szükséges, és a használat után felszabadítja a bemutató és a kép erőforrásait.

PowerPoint konvertálása PNG-re

  1. Töltse be a bemeneti fájlt a Presentation osztállyal.
  2. Hozza elő a diákat a Presentation.getSlides segítségével.
  3. Renderelje az egyes diát a Slide.getImage használatával.
  4. Mentse az egyes renderelt képeket a ImageFormat.Png használatával, majd szabadítsa fel azok erőforrásait.

A következő Python példa az összes diát az alapértelmezett méretükben exportálja:

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()

PowerPoint konvertálása PNG-re egyéni skálával

Adjon át vízszintes és függőleges skálázási tényezőket a Slide.getImage metódusnak a kimeneti méretek növeléséhez vagy csökkentéséhez. Például egy 720 × 540 pont méretű dia, amelyet 2-es skálafaktorral mindkét tengelyen renderelnek, 1440 × 1080 képpontos képet eredményez.

Azonos skálafaktorok használatával megőrizhető a dia méretarányai. Különböző tényezők a diát vízszintesen vagy függőlegesen nyújtják.

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()

PowerPoint konvertálása PNG-re egyedi mérettel

A pontos képpontméretek megadásához adjon át egy Java Dimension objektumot a kívánt szélességgel és magassággal a Slide.getImage metódusnak. Válasszon olyan méreteket, amelyek az eredeti dia arányával megegyeznek, hogy elkerülje a torzulást.

A következő példa minden diát 960 × 720 képpontos PNG képként ment el:

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()

GYIK

Exportálhatok egy adott alakzatot, például egy diagramot vagy képet, a teljes dia helyett?
Igen. Az Aspose.Slides támogatja a különálló alakzatok előnézeti képeinek generálását, amelyeket PNG képként menthet.

Konvertálhatok bemutatókat párhuzamosan egy szerveren?
Használjon külön bemutató példányt minden szál vagy folyamat számára, és alkalmazzon egyedi kimeneti útvonalakat a fájlok felülírásának elkerülése érdekében. Ne osszon meg bemutató példányt a szálak között. Lásd a Multithreading oldalt.

Mik a próba-verzió korlátai PNG-re exportáláskor?
Az értékelési mód vízjel hozzáadásával és egyéb korlátozások alkalmazásával jelöli a kimeneti képeket. Licenc alkalmazásával eltávolíthatók ezek a korlátok.