Převod snímků PowerPoint na PNG na Androidu

Přehled

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

Níže uvedené příklady ukazují vykreslení v výchozím měřítku, zvýšení měřítka, určení výstupních rozměrů v pixelech a výběr stylu gradientového vykreslení.

Převod PowerPointu na PNG

Načtěte prezentaci pomocí třídy Presentation a přistupte k jejím snímkům přes kolekci Presentation.getSlides. Příklad vykresluje každý snímek pomocí ISlide.getImage bez parametrů pro vytvoření miniatury. Poté volá IImage.save s ImageFormat.Png pro uložení každého vykresleného snímku jako obrázek PNG.

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    int slideCount = presentation.getSlides().size();
    for (int index = 0; index < slideCount; index++) {
        ISlide slide = presentation.getSlides().get_Item(index);
        IImage image = slide.getImage();
        try {
            image.save("slide_" + index + ".png", ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

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

Předávejte horizontální a vertikální faktory měřítka metodě ISlide.getImage pro řízení vykreslených rozměrů. V tomto příkladu jsou oba faktory 2, takže snímek o velikosti 720 × 540 bodů vytvoří obrázek o rozměrech 1440 × 1080 pixelů. Stejné faktory měřítka zachovávají poměr stran snímku. Každý obrázek se uloží ve formátu PNG pomocí IImage.save.

import com.aspose.slides.*;

Presentation presentation = new Presentation("presentation.pptx");
try {
    float scaleX = 2f;
    float scaleY = scaleX;

    int slideCount = presentation.getSlides().size();
    for (int index = 0; index < slideCount; index++) {
        ISlide slide = presentation.getSlides().get_Item(index);
        IImage image = slide.getImage(scaleX, scaleY);
        try {
            image.save("slide_" + index + ".png", ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

Převod PowerPointu na PNG s vlastní velikostí

Chcete-li určit výstupní rozměry v pixelech, předávejte metodě ISlide.getImage velikost místo faktorů měřítka. Tento příklad vykresluje každý snímek na 960 × 720 pixelů a výsledek uloží pomocí IImage.save. Zvolte rozměry odpovídající poměru stran snímku, aby nedošlo k roztažení obrázku.

import com.aspose.slides.*;
import com.aspose.slides.android.Size;

Presentation presentation = new Presentation("presentation.pptx");
try {
    Size imageSize = new Size(960, 720);

    int slideCount = presentation.getSlides().size();
    for (int index = 0; index < slideCount; index++) {
        ISlide slide = presentation.getSlides().get_Item(index);
        IImage image = slide.getImage(imageSize);
        try {
            image.save("slide_" + index + ".png", ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

Výběr stylu gradientového vykreslení

Předpokládejme, že snímek obsahuje gradientové výplně, ale přechody v exportovaném PNG vypadají světleji nebo jinak odlišně od toho, co vidíte v PowerPointu. Můžete použít metodu SaveOptions.setGradientStyle zděděnou třídou RenderingOptions , aby jste vybrali, jak se gradienty vykreslují.

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í, na 0 % a 100 %.

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

import com.aspose.slides.*;

Presentation presentation = new Presentation("gradient-styles.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    int[] gradientStyles = { GradientStyle.Default, GradientStyle.PowerPointUI };
    for (int style : gradientStyles) {
        RenderingOptions options = new RenderingOptions();
        options.setGradientStyle(style);

        String styleName = style == GradientStyle.Default ? "Default" : "PowerPointUI";
        IImage image = slide.getImage(options, 1f, 1f);
        try {
            image.save("gradient-" + styleName + ".png", ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

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‑k‑oranžové a modré‑k‑žluté vykreslené ve výchozím režimu Stejné gradienty vykreslené s PowerPointUI

V tomto příkladu Výchozí produkuje světlejší střední barvy, zatímco PowerPointUI produkuje tmavší střední barvy. Rozdíl závisí na barvách a zastaveních v gradientu.

Zvolte Výchozí, když vám vyhovuje standardní výstup Aspose.Slides. Vyzkoušejte PowerPointUI, pokud je vaším prioritním cílem shoda vzhledu s PowerPointem. Porovnejte oba výstupy s očekávaným výsledkem; žádný režim není univerzálně výhodnější.

Č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í miniatur pro jednotlivé tvary, což vám umožní vykreslit tvar jako obrázek PNG.

Je paralelní konverze podporována na serveru?

Ano. Používejte samostatnou instanci prezentace pro každý vlákno nebo proces; nesdílejte jednu instanci mezi vlákny.

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

Evaluační režim přidává vodoznak do výstupních obrázků a uplatňuje další omezení, dokud není licence použita.