Převod snímků PowerPointu na PNG v Pythonu

Přehled

Tento článek vysvětluje, jak převést snímky prezentace na obrázky PNG pomocí Aspose.Slides pro Python přes .NET. Můžete načíst prezentace ve formátech jako PPT, PPTX a ODP, vykreslit každý snímek a uložit jej jako samostatný obrázek PNG.

Níže uvedené příklady ukazují vykreslování v výchozím měřítku, zvýšení měřítka, zadání výstupních rozměrů v pixelech a výběr stylu vykreslování gradientu.

Převod PowerPointu na PNG

Načtěte prezentaci pomocí třídy Presentation a přistupujte k jejím snímkům prostřednictvím kolekce slides. Příklad vykreslí každý snímek pomocí Slide.get_image bez parametrů pro vytvoření náhledu. Poté zavolá IImage.save s ImageFormat.PNG pro uložení každého vykresleného snímku jako obrázku PNG.

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    for index, slide in enumerate(presentation.slides):
        with slide.get_image() as image:
            image.save(f"slide_{index}.png", slides.ImageFormat.PNG)

Převod PowerPointu na PNG s vlastními rozměry

Předejte horizontální a vertikální faktory měřítka metodě Slide.get_image k řízení vykreslených rozměrů. V tomto příkladu jsou oba faktory nastaveny na 2, takže snímek o rozměrech 720 × 540 bodů vytvoří obrázek o rozměrech 1440 × 1080 pixelů. Stejné faktory měřítka zachovají poměr stran snímku. Každý obrázek je uložen ve formátu PNG pomocí IImage.save.

import aspose.slides as slides

scale_x = 2.0
scale_y = scale_x

with slides.Presentation("presentation.pptx") as presentation:
    for index, slide in enumerate(presentation.slides):
        with slide.get_image(scale_x, scale_y) as image:
            image.save(f"slide_{index}.png", slides.ImageFormat.PNG)

Převod PowerPointu na PNG s vlastní velikostí

Pro zadání výstupních rozměrů v pixelech předejte metodě Slide.get_image velikost místo faktorů měřítka. Tento příklad vykreslí každý snímek na 960 × 720 pixelů a výsledek uloží pomocí IImage.save. Zvolte rozměry, které odpovídají poměru stran snímku, aby nedošlo k roztažení obrázku.

import aspose.slides as slides

image_size = slides.Size(960, 720)

with slides.Presentation("presentation.pptx") as presentation:
    for index, slide in enumerate(presentation.slides):
        with slide.get_image(image_size) as image:
            image.save(f"slide_{index}.png", slides.ImageFormat.PNG)

Výběr stylu vykreslování gradientu

Předpokládejme, že snímek obsahuje výplně gradientů, ale přechody v exportovaném PNG vypadají světlejší nebo jinak odlišně od toho, co vidíte v PowerPointu. Můžete použít vlastnost gradient_style třídy RenderingOptions k výběru, jak budou gradienty vykresleny.

Stáhněte gradient-styles.pptx a umístěte jej do pracovního adresáře aplikace. Jeho první snímek obsahuje dva lineární gradienty: azurová k oranžové nahoře a modrá k žluté dole. Každý gradient má dva zastavení, při 0 % a 100 %.

Následující příklad načte tuto prezentaci a vykreslí stejný první snímek v obou režimech pomocí Slide.get_image.

import aspose.slides as slides

with slides.Presentation("gradient-styles.pptx") as presentation:
    slide = presentation.slides[0]

    gradient_styles = [slides.GradientStyle.DEFAULT, slides.GradientStyle.POWER_POINT_UI]
    for style in gradient_styles:
        options = slides.export.RenderingOptions()
        options.gradient_style = style

        with slide.get_image(options, 1.0, 1.0) as image:
            image.save(f"gradient-{style.name}.png", slides.ImageFormat.PNG)

Obrázky níže ukazují výstup ze stejného snímku, s oběma gradienty v každém obrázku:

Výchozí PowerPointUI
Gradienty cyan‑to‑orange a blue‑to‑yellow vykreslené výchozím způsobem Stejné gradienty vykreslené pomocí PowerPointUI

V tomto příkladu DEFAULT vytváří světlejší mezilehlé barvy, zatímco POWER_POINT_UI vytváří tmavší mezilehlé barvy. Rozdíl závisí na barvách a zastaveních v gradientu.

Zvolte DEFAULT, pokud vám vyhovuje standardní výstup Aspose.Slides. Vyzkoušejte POWER_POINT_UI, pokud je vaším cílem co největší shoda s vzhledem v PowerPointu. Porovnejte oba výstupy s požadovaným výsledkem; žádný režim není univerzálně lepší.

Často kladené otázky

Jak mohu exportovat konkrétní tvar, například graf nebo obrázek, místo celého snímku?

Aspose.Slides podporuje generování náhledů pro jednotlivé tvary, což vám umožní vykreslit tvar jako PNG obrázek.

Je paralelní převod podporován na serveru?

Ano. Použijte samostatnou instanci prezentace pro každé vlákno nebo proces; nesdílejte jedinou instanci napříč vlákny.

Jaká jsou omezení evaluační verze při exportu do PNG?

Evaluační režim přidává vodoznak k výstupním obrázkům a uplatňuje další omezení, dokud není licence aplikována.