Menyimpan Presentasi di Java
Ringkasan
Open Presentations in Java menjelaskan cara menggunakan kelas Presentation untuk membuka sebuah presentasi. Artikel ini menjelaskan cara membuat dan menyimpan presentasi. Kelas Presentation berisi konten sebuah presentasi. Baik Anda membuat presentasi dari awal maupun memodifikasi presentasi yang sudah ada, Anda akan ingin menyimpannya setelah selesai. Dengan Aspose.Slides for Java, Anda dapat menyimpan ke file atau stream. Artikel ini menjelaskan berbagai cara menyimpan sebuah presentasi.
Menyimpan Presentasi ke File
Simpan presentasi ke file dengan memanggil metode save kelas Presentation. Berikan nama file dan format penyimpanan ke metode tersebut. Contoh berikut menunjukkan cara menyimpan presentasi dengan Aspose.Slides.
// Membuat instance kelas Presentation yang mewakili file presentasi.
Presentation presentation = new Presentation();
try {
// Lakukan beberapa pekerjaan di sini...
// Simpan presentasi ke file.
presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Menyimpan Presentasi ke Stream
Anda dapat menyimpan presentasi ke stream dengan memberikan output stream ke metode save kelas Presentation. Presentasi dapat ditulis ke banyak jenis stream. Pada contoh di bawah, kami membuat presentasi baru dan menyimpannya ke file stream.
// Membuat instance kelas Presentation yang mewakili file presentasi.
Presentation presentation = new Presentation();
try {
OutputStream fileStream = new FileOutputStream("Output.pptx");
try {
// Simpan presentasi ke stream.
presentation.save(fileStream, SaveFormat.Pptx);
} finally {
fileStream.close();
}
} finally {
presentation.dispose();
}
Menyimpan Presentasi dengan Tipe Tampilan yang Telah Ditetapkan
Aspose.Slides memungkinkan Anda mengatur tampilan awal yang digunakan PowerPoint saat presentasi yang dihasilkan dibuka melalui kelas ViewProperties. Gunakan metode setLastView dengan nilai dari enumerasi ViewType.
Presentation presentation = new Presentation();
try {
presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
presentation.save("SlideMasterView.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Menyimpan Presentasi dalam Format Strict Office Open XML
Aspose.Slides memungkinkan Anda menyimpan presentasi dalam format Strict Office Open XML. Gunakan kelas PptxOptions dan atur properti conformance saat menyimpan. Jika Anda mengatur Conformance.Iso29500_2008_Strict, file output disimpan dalam format Strict Office Open XML.
Contoh berikut membuat presentasi dan menyimpannya dalam format Strict Office Open XML.
PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);
// Buat instance kelas Presentation yang mewakili file presentasi.
Presentation presentation = new Presentation();
try {
// Simpan presentasi dalam format Strict Office Open XML.
presentation.save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
} finally {
presentation.dispose();
}
Menyimpan Presentasi dalam Format Office Open XML dengan Mode Zip64
File Office Open XML adalah arsip ZIP yang membatasi ukuran tidak terkompresi setiap file menjadi 4 GB (2^32 byte), ukuran terkompresi setiap file, serta total ukuran arsip, dan juga membatasi jumlah file menjadi 65 535 (2^16‑1). Ekstensi format ZIP64 mengangkat batasan ini menjadi 2^64.
Metode IPptxOptions.setZip64Mode memungkinkan Anda memilih kapan menggunakan ekstensi format ZIP64 saat menyimpan file Office Open XML.
Metode ini dapat digunakan dengan mode berikut:
- IfNecessary menggunakan ekstensi format ZIP64 hanya jika presentasi melebihi batasan di atas. Ini adalah mode default.
- Never tidak pernah menggunakan ekstensi format ZIP64.
- Always selalu menggunakan ekstensi format ZIP64.
Kode berikut mendemonstrasikan cara menyimpan presentasi sebagai PPTX dengan ekstensi format ZIP64 diaktifkan:
PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setZip64Mode(Zip64Mode.Always);
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("OutputZip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
presentation.dispose();
}
NOTE
Ketika Anda menyimpan dengan Zip64Mode.Never, sebuah PptxException dilempar jika presentasi tidak dapat disimpan dalam format ZIP32.Menyimpan Presentasi tanpa Menyegarkan Gambar Miniatur
Metode PptxOptions.setRefreshThumbnail mengontrol pembuatan gambar miniatur ketika menyimpan presentasi ke PPTX:
- Jika diatur ke
true, gambar miniatur disegarkan selama penyimpanan. Ini adalah nilai default. - Jika diatur ke
false, gambar miniatur saat ini dipertahankan. Jika presentasi tidak memiliki gambar miniatur, tidak ada yang dibuat.
Pada kode di bawah, presentasi disimpan ke PPTX tanpa menyegarkan gambar miniaturnya.
PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setRefreshThumbnail(false);
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("Output.pptx", SaveFormat.Pptx, pptxOptions);
}
finally {
presentation.dispose();
}
Info
Opsi ini membantu mengurangi waktu yang diperlukan untuk menyimpan presentasi dalam format PPTX.Menyimpan Pembaruan Progres dalam Persentase
Antarmuka IProgressCallback digunakan melalui metode setProgressCallback yang disediakan oleh antarmuka ISaveOptions dan kelas abstrak SaveOptions. Tetapkan implementasi IProgressCallback dengan setProgressCallback untuk menerima pembaruan progres penyimpanan dalam bentuk persentase.
Potongan kode berikut menunjukkan cara menggunakan IProgressCallback.
ISaveOptions saveOptions = new PdfOptions();
saveOptions.setProgressCallback(new ExportProgressHandler());
Presentation presentation = new Presentation("Sample.pptx");
try {
presentation.save("Output.pdf", SaveFormat.Pdf, saveOptions);
} finally {
presentation.dispose();
}
class ExportProgressHandler implements IProgressCallback {
public void reporting(double progressValue) {
// Gunakan nilai persentase kemajuan di sini.
int progress = (int) progressValue;
System.out.println(progress + "% of the file has been converted.");
}
}
Info
Aspose telah mengembangkan aplikasi PowerPoint Splitter gratis menggunakan API miliknya. Aplikasi ini memungkinkan Anda membagi sebuah presentasi menjadi beberapa file dengan menyimpan slide yang dipilih sebagai file PPTX atau PPT baru.FAQ
Apakah “penyimpanan cepat” (incremental save) didukung sehingga hanya perubahan yang ditulis?
Tidak. Setiap kali menyimpan file target dibuat secara penuh; penyimpanan cepat secara incremental tidak didukung.
Apakah aman untuk menyimpan instance Presentation yang sama dari beberapa thread?
Tidak. Sebuah Presentation tidak thread‑safe (/slides/id/java/multithreading/); simpanlah dari satu thread saja.
Apa yang terjadi pada hyperlink dan file yang ditautkan secara eksternal saat menyimpan?
Hyperlink dipertahankan. File yang ditautkan secara eksternal (misalnya video via jalur relatif) tidak disalin secara otomatis—pastikan jalur yang direferensikan tetap dapat diakses.
Bisakah saya mengatur/menyimpan metadata dokumen (Penulis, Judul, Perusahaan, Tanggal)?
Ya. Properti dokumen standar [/slides/id/java/presentation-properties/] didukung dan akan ditulis ke file saat disimpan.