Dalam postingan blog kami sebelumnya, kami menjelajahi API Apache POI XSLF untuk membuat dan memperbarui file Microsoft PowerPoint PPTX dengan Java. Apache POI untuk Java memungkinkan Anda bekerja dengan file PPT dan PPTX dari dalam aplikasi Java Anda tanpa masuk ke detail format file internalnya. Pada artikel ini, kita akan membahas detail bagaimana Apache POI API dapat digunakan untuk menyisipkan gambar dalam PPTX dengan Java. Kami juga akan melihat cara membaca informasi gambar dari file PPTX menggunakan Java.
Persyaratan sistem
Sebelum memulai, pastikan sistem Anda memenuhi persyaratan berikut.
- JDK – Java SE 2 JDK 1.5 atau lebih tinggi
- Memori – Ram 1 GB
- Sistem Operasi – Windows/ Linux/ Mac OS
Menginstal Apache POI untuk Java
Anda memerlukan lingkungan pengembangan Java seperti Eclipse, IntelliJ IDEA, atau IDE lain yang Anda rasa nyaman untuk bekerja dengan pustaka Apache POI di aplikasi Anda. Berikutnya adalah menambahkan dependensi Apache POI Maven di file pom.xml aplikasi Anda seperti gambar di bawah ini.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.23.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
Perpustakaan Java untuk Menambahkan Gambar ke File PPTX
Pada tahap ini, kami berasumsi bahwa lingkungan pengembangan Anda sudah siap dan kami dapat mulai dengan menulis kode untuk menambahkan gambar ke file presentasi PowerPoint. Hal ini dicapai dengan menggunakan metode createPicture() dari kelas XSLFSlide. Memasukkan gambar ke slide di PowerPoint mencakup langkah-langkah berikut.
- Buat sebuah instance dari kelas XMLSlideShow
- Tambahkan slide ke presentasi dengan memanggil metode createSlide pada instance presentasi dari langkah 1
- Muat gambar dari file sebagai array byte dan tambahkan ke instance XSLFPictureData
- Panggil metode createPicture pada instance slide
- Simpan presentasi ke output
Contoh kode berikut menunjukkan langkah-langkah ini.
//creating a presentation
XMLSlideShow pptx = new XMLSlideShow();
//creating a slide in it
XSLFSlide slide = pptx.createSlide();
//reading an image
File image = new File("fileformat.png");
//converting it into a byte array
byte[] picture = IOUtils.toByteArray(new FileInputStream(image));
//adding the image to the presentation
XSLFPictureData idx = pptx.addPicture(picture, PictureType.PNG);
//creating a slide with given picture on it
XSLFPictureShape pic = slide.createPicture(idx);
//creating a file object
File file = new File("imagetopresentation.pptx");
FileOutputStream out = new FileOutputStream(file);
//saving the changes to a file
pptx.write(out);
out.close();
Baca Informasi Gambar dari File PPTX
Dengan Apache POI API untuk Java, Anda dapat membaca data semua gambar dari dalam file PPTX menggunakan metode getPictureData() dari kelas XMLSlideShow. Contoh kode berikut menunjukkan fungsi ini dengan membaca gambar dari presentasi.
//open an existing presentation
File file = new File("imagetopresentation.pptx");
XMLSlideShow pptx = new XMLSlideShow(new FileInputStream(file));
//reading all the images from the presentation
for(XSLFPictureData data : pptx.getPictureData()){
byte[] bytes = data.getData();
String fileName = data.getFileName();
PictureType pictureFormat = data.getType();
System.out.println("picture name: " + fileName);
System.out.println("picture format: " + pictureFormat);
}
//saving the changes to a file
FileOutputStream out = new FileOutputStream(file);
pptx.write(out);
out.close();
Kesimpulan
Komponen Apache POI untuk bekerja dengan file presentasi PowerPoint memungkinkan Anda menyisipkan gambar dalam file PowerPoint PPT dan PPTX dari dalam aplikasi Java Anda. Ini juga memungkinkan Anda membaca informasi gambar dari gambar di slide. Di blog kami yang akan datang, kami akan mendemonstrasikan lebih lanjut penggunaan komponen Apache POI Java untuk bekerja dengan presentasi PowerPoint. Jadi, pantau terus.