Mengonversi Slide PowerPoint ke PNG di Android

Gambaran Umum

Artikel ini menjelaskan cara mengonversi slide presentasi menjadi gambar PNG menggunakan Aspose.Slides untuk Android melalui Java. Anda dapat memuat presentasi dalam format seperti PPT, PPTX, dan ODP, merender setiap slide, dan menyimpannya sebagai gambar PNG terpisah.

Contoh di bawah ini menunjukkan proses rendering pada skala default, meningkatkan skala, menentukan dimensi output dalam piksel, dan memilih gaya rendering gradien.

Mengonversi PowerPoint ke PNG

Muat presentasi dengan kelas Presentation dan akses slide-nya melalui koleksi Presentation.getSlides . Contoh ini merender setiap slide dengan ISlide.getImage tanpa parameter untuk membuat thumbnail. Kemudian memanggil IImage.save dengan ImageFormat.Png untuk menyimpan tiap slide yang telah dirender sebagai gambar 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();
}

Mengonversi PowerPoint ke PNG dengan Dimensi Kustom

Berikan faktor skala horizontal dan vertikal ke ISlide.getImage untuk mengontrol dimensi rendering. Pada contoh ini, kedua faktor adalah 2, sehingga slide berukuran 720 × 540 poin menghasilkan gambar 1440 × 1080 piksel. Faktor skala yang sama mempertahankan rasio aspek slide. Setiap gambar disimpan dalam format PNG dengan 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();
}

Mengonversi PowerPoint ke PNG dengan Ukuran Kustom

Untuk menentukan dimensi output dalam piksel, berikan ukuran ke ISlide.getImage alih-alih faktor skala. Contoh ini merender setiap slide pada 960 × 720 piksel dan menyimpan hasilnya dengan IImage.save. Pilih dimensi yang sesuai dengan rasio aspek slide untuk menghindari gambar terdistorsi.

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

Pilih Gaya Rendering Gradien

Misalkan sebuah slide berisi isian gradien, tetapi transisi pada PNG yang diekspor tampak lebih terang atau berbeda dari yang Anda lihat di PowerPoint. Anda dapat menggunakan metode SaveOptions.setGradientStyle yang diwarisi oleh RenderingOptions untuk memilih cara gradien dirender.

Unduh gradient-styles.pptx dan letakkan di direktori kerja aplikasi. Slide pertamanya berisi dua gradien linear: sian ke oranye di atas dan biru ke kuning di bawah. Setiap gradien memiliki dua titik henti, pada 0% dan 100%.

Contoh berikut memuat presentasi ini dan merender slide pertama yang sama dalam kedua mode dengan 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();
}

Gambar di bawah ini menunjukkan output dari slide yang sama, dengan kedua gradien di setiap gambar:

Default PowerPointUI
Gradien sian-ke-oranye dan biru-ke-kuning dirender dengan Default Gradien yang sama dirender dengan PowerPointUI

Pada contoh ini, Default menghasilkan warna antara yang lebih terang, sedangkan PowerPointUI menghasilkan warna antara yang lebih gelap. Perbedaannya tergantung pada warna dan titik henti dalam gradien.

Pilih Default ketika output standar Aspose.Slides sesuai kebutuhan Anda. Coba PowerPointUI ketika prioritas Anda adalah mencocokkan tampilan di PowerPoint. Bandingkan kedua output dengan hasil yang diinginkan; tidak ada mode yang secara universal lebih baik.

FAQ

Bagaimana saya dapat mengekspor bentuk tertentu, seperti diagram atau gambar, alih-alih seluruh slide?

Aspose.Slides mendukung pembuatan thumbnail untuk bentuk individual, memungkinkan Anda merender sebuah bentuk sebagai gambar PNG.

Apakah konversi paralel didukung pada server?

Ya. Gunakan instance presentasi terpisah untuk setiap thread atau proses; jangan bagikan satu instance di antara thread.

Apa batasan evaluasi saat mengekspor ke PNG?

Mode evaluasi menambahkan watermark pada gambar output dan menerapkan pembatasan lainnya hingga lisensi diterapkan.