Mengonversi Slide Presentasi menjadi Gambar di Java
Pendahuluan
Aspose.Slides for Java memungkinkan Anda dengan mudah mengonversi slide presentasi PowerPoint dan OpenDocument ke berbagai format gambar, termasuk BMP, PNG, JPG (JPEG), GIF, dan lainnya.
Untuk mengonversi slide menjadi gambar, ikuti langkah-langkah berikut:
- Tentukan pengaturan konversi yang diinginkan dan pilih slide yang ingin Anda ekspor dengan menggunakan:
- Antarmuka ITiffOptions , atau
- Antarmuka IRenderingOptions .
- Hasilkan gambar slide dengan memanggil metode getImage.
Dalam Aspose.Slides for Java, IImage adalah antarmuka yang memungkinkan Anda bekerja dengan gambar yang didefinisikan oleh data piksel. Anda dapat menggunakan antarmuka ini untuk menyimpan gambar dalam berbagai format (BMP, JPG, PNG, dll).
Mengonversi Slide ke Bitmap dan Menyimpan Gambar dalam PNG
Anda dapat mengonversi slide menjadi objek bitmap dan menggunakannya langsung dalam aplikasi Anda. Atau, Anda dapat mengonversi slide menjadi bitmap dan kemudian menyimpan gambar dalam format JPEG atau format lain yang diinginkan.
Kode berikut menunjukkan cara mengonversi slide pertama dari presentasi menjadi objek bitmap dan kemudian menyimpan gambar dalam format PNG:
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Mengonversi slide pertama dalam presentasi menjadi bitmap.
IImage image = presentation.getSlides().get_Item(0).getImage();
try {
// Simpan gambar dalam format PNG.
image.save("Slide_0.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Mengonversi Slide ke Gambar dengan Ukuran Kustom
Anda mungkin perlu memperoleh gambar dengan ukuran tertentu. Dengan menggunakan overload dari getImage, Anda dapat mengonversi slide menjadi gambar dengan dimensi spesifik (lebar dan tinggi).
Contoh kode berikut menunjukkan cara melakukannya:
Dimension imageSize = new Dimension(1820, 1040);
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Mengonversi slide pertama dalam presentasi menjadi bitmap dengan ukuran yang ditentukan.
IImage image = presentation.getSlides().get_Item(0).getImage(imageSize);
try {
// Simpan gambar dalam format JPEG.
image.save("Slide_0.jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Mengonversi Slide dengan Catatan dan Komentar menjadi Gambar
Beberapa slide mungkin berisi catatan dan komentar.
Aspose.Slides menyediakan dua antarmuka—ITiffOptions dan IRenderingOptions—yang memungkinkan Anda mengontrol proses rendering slide presentasi menjadi gambar. Kedua antarmuka menyertakan metode setSlidesLayoutOptions, yang memungkinkan Anda mengkonfigurasi rendering catatan dan komentar pada slide saat mengonversinya menjadi gambar.
Dengan kelas NotesCommentsLayoutingOptions, Anda dapat menentukan posisi yang diinginkan untuk catatan dan komentar dalam gambar yang dihasilkan.
Kode berikut menunjukkan cara mengonversi slide dengan catatan dan komentar:
float scaleX = 2;
float scaleY = scaleX;
// Muat file presentasi.
Presentation presentation = new Presentation("Presentation_with_notes_and_comments.pptx");
try {
NotesCommentsLayoutingOptions notesCommentsOptions = new NotesCommentsLayoutingOptions();
notesCommentsOptions.setNotesPosition(NotesPositions.BottomTruncated); // Tetapkan posisi catatan.
notesCommentsOptions.setCommentsPosition(CommentsPositions.Right); // Tetapkan posisi komentar.
notesCommentsOptions.setCommentsAreaWidth(500); // Tetapkan lebar area komentar.
notesCommentsOptions.setCommentsAreaColor(Color.LIGHT_GRAY); // Tetapkan warna untuk area komentar.
// Buat opsi rendering.
RenderingOptions options = new RenderingOptions();
options.setSlidesLayoutOptions(notesCommentsOptions);
// Mengonversi slide pertama dari presentasi menjadi gambar.
IImage image = presentation.getSlides().get_Item(0).getImage(options, scaleX, scaleY);
try {
// Simpan gambar dalam format GIF.
image.save("Image_with_notes_and_comments_0.gif", ImageFormat.Gif);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
Pada proses konversi slide ke gambar apa pun, metode setNotesPosition tidak dapat menerapkanBottomFull (untuk menentukan posisi catatan) karena teks catatan mungkin terlalu besar, sehingga tidak dapat muat dalam ukuran gambar yang ditentukan.
Mengonversi Slide ke Gambar Menggunakan Opsi TIFF
Antarmuka ITiffOptions memberikan kontrol lebih besar atas gambar TIFF yang dihasilkan dengan memungkinkan Anda menentukan parameter seperti ukuran, resolusi, palet warna, dan lainnya.
Kode berikut menunjukkan proses konversi di mana opsi TIFF digunakan untuk menghasilkan gambar hitam-putih dengan resolusi 300 DPI dan ukuran 2160 × 2800:
// Muat file presentasi.
Presentation presentation = new Presentation("sample.pptx");
try {
// Dapatkan slide pertama dari presentasi.
ISlide slide = presentation.getSlides().get_Item(0);
// Konfigurasikan pengaturan gambar TIFF keluaran.
TiffOptions tiffOptions = new TiffOptions();
tiffOptions.setImageSize(new Dimension(2160, 2880)); // Tetapkan ukuran gambar.
tiffOptions.setPixelFormat(ImagePixelFormat.Format1bppIndexed); // Tetapkan format piksel (hitam putih).
tiffOptions.setDpiX(300); // Tetapkan resolusi horizontal.
tiffOptions.setDpiY(300); // Tetapkan resolusi vertikal.
// Konversi slide menjadi gambar dengan opsi yang ditentukan.
IImage image = slide.getImage(tiffOptions);
try {
// Simpan gambar dalam format TIFF.
image.save("output.tiff", ImageFormat.Tiff);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
Dukungan TIFF tidak dijamin pada versi JDK sebelum 9.Mengonversi Semua Slide ke Gambar
Aspose.Slides memungkinkan Anda mengonversi semua slide dalam sebuah presentasi menjadi gambar, secara efektif mengubah seluruh presentasi menjadi serangkaian gambar.
Contoh kode berikut menunjukkan cara mengonversi semua slide dalam sebuah presentasi menjadi gambar di Java:
float scaleX = 2;
float scaleY = scaleX;
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Render presentasi menjadi gambar slide per slide.
for (int i = 0 ; i < presentation.getSlides().size(); i++)
{
// Kontrol slide tersembunyi (jangan render slide tersembunyi).
if (presentation.getSlides().get_Item(i).getHidden())
continue;
// Konversi slide menjadi gambar.
IImage image = presentation.getSlides().get_Item(i).getImage(scaleX, scaleY);
try {
// Simpan gambar dalam format JPEG.
image.save("Slide_" + i + ".jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Rendering Emoji Berwarna
Note
Untuk merender emoji berwarna dengan benar saat mengonversi slide presentasi menjadi gambar, font emoji yang digunakan dalam presentasi harus diinstal dan tersedia pada sistem yang melakukan konversi. Misalnya, jika presentasi menggunakan Segoe UI Emoji dan font ini tidak ada, emoji dapat muncul dalam monokrom pada gambar output.FAQ
Apakah Aspose.Slides mendukung rendering slide dengan animasi?
Tidak, metode getImage hanya menyimpan gambar statis dari slide, tanpa animasi.
Apakah slide tersembunyi dapat diekspor sebagai gambar?
Ya, slide tersembunyi dapat diproses seperti slide biasa. Pastikan saja mereka termasuk dalam loop pemrosesan.
Apakah gambar dapat disimpan dengan bayangan dan efek?
Ya, Aspose.Slides mendukung rendering bayangan, transparansi, dan efek grafis lainnya saat menyimpan slide sebagai gambar.