Operasi Presentasi Low-Code dalam Java

Ringkasan

Paket com.aspose.slides menyediakan kelas pembantu statis untuk operasi presentasi umum. Pembantu ini membungkus alur kerja model objek yang sering digunakan dalam metode terfokus, sehingga Anda dapat mengonversi atau menggabungkan file, memproses elemen presentasi, mengumpulkan shape, dan menghapus konten yang tidak terpakai dengan lebih sedikit kode.

Pembantu low-code paling berguna ketika operasi berlaku pada seluruh file atau presentasi dan alur kerja default sesuai dengan kebutuhan Anda. Gunakan model objek Aspose.Slides secara lengkap ketika Anda memerlukan kontrol detail atas slide individual, master, tata letak, shape, pengaturan ekspor, atau hubungan antar elemen presentasi.

Tabel berikut merangkum pembantu yang tersedia:

Pembantu Gunakan untuk
Convert Mengonversi presentasi ke format lain dengan panggilan langsung file-ke-file.
Merger Menggabungkan file presentasi lengkap dengan format yang sama.
ForEach Menjalankan aksi untuk setiap slide, shape, paragraf, atau bagian teks.
Collect Mengambil shape dari seluruh presentasi untuk proses berulang atau analisis.
Compress Menghapus master dan tata letak yang tidak terpakai serta mengurangi data font yang tertanam.

Mengonversi Presentasi

Gunakan Convert.autoByExtension ketika ekstensi file output sudah cukup untuk memilih format ekspor. Metode ini membuka presentasi sumber, menentukan format yang diperlukan dari jalur output, dan menulis hasilnya.

import com.aspose.slides.Convert;

Convert.autoByExtension("input.pptx", "output.pdf");

Kelas Convert juga menyediakan metode khusus untuk output PDF, SVG, JPEG, PNG, dan TIFF. Gunakan model objek lengkap ketika Anda perlu memeriksa atau memodifikasi presentasi sebelum ekspor atau mengkonfigurasi opsi ekspor yang tidak disediakan oleh pembantu yang dipilih. Lihat Convert Presentation untuk alur kerja dan opsi spesifik format.

Menggabungkan Presentasi

Gunakan Merger.process untuk menggabungkan file presentasi lengkap dengan satu panggilan. Presentasi masukan harus memiliki format file yang sama.

import com.aspose.slides.Merger;

String[] inputFiles = { "part-1.pptx", "part-2.pptx" };
Merger.process(inputFiles, "merged.pptx");

Pembantu ini cocok ketika semua slide harus ditambahkan ke satu hasil tanpa memilih atau memetakan ulang slide secara individual. Gunakan model objek lengkap ketika Anda perlu menggabungkan slide yang dipilih, menerapkan master atau tata letak tujuan, mempertahankan bagian secara eksplisit, atau menyelaraskan ukuran slide yang berbeda. Lihat Merge Presentations untuk skenario tersebut.

Iterasi Elemen Presentasi

Kelas ForEach memanggil callback untuk setiap tipe elemen presentasi yang diminta. Ini menghindari loop koleksi bersarang dan nyaman untuk inspeksi atau perubahan format di seluruh presentasi.

Contoh berikut menggunakan ForEach.slide, ForEach.shape, ForEach.paragraph, dan ForEach.portion untuk memeriksa elemen yang bersangkutan:

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    ForEach.slide(presentation, (slide, index) -> {
        System.out.println(String.format("Slide %d: %d shapes", index, slide.getShapes().size()));
    });

    ForEach.shape(presentation, (shape, slide, index) -> {
        System.out.println(String.format("Shape %d on %s: %s", index, slide.getClass().getSimpleName(), shape.getName()));
    });

    ForEach.paragraph(presentation, (paragraph, slide, index) -> {
        System.out.println(String.format("Paragraph %d on %s: %s", index, slide.getClass().getSimpleName(), paragraph.getText()));
    });

    ForEach.portion(presentation, (portion, paragraph, slide, index) -> {
        System.out.println(String.format("Portion %d on %s: %s", index, slide.getClass().getSimpleName(), portion.getText()));
    });
} finally {
    presentation.dispose();
}

Secara default, penelusuran shape dan teks di seluruh presentasi mencakup slide normal, master, dan tata letak. Overload dengan parameter includeNotes juga dapat memproses slide catatan. Gunakan loop koleksi langsung ketika urutan penelusuran, keluar lebih awal, filter sebelum pemanggilan callback, atau kontrol induk‑anak yang detail penting.

Kumpulkan Shape

Gunakan Collect.shapes ketika Anda memerlukan koleksi semua shape dalam sebuah presentasi bukan callback untuk setiap shape. Ini berguna ketika kumpulan yang sama akan difilter, dihitung, atau diproses lebih dari sekali.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Iterable<Shape> shapes = Collect.shapes(presentation);

    for (Shape shape : shapes) {
        System.out.println(String.format("%s: %s", shape.getName(), shape.getClass().getSimpleName()));
    }
} finally {
    presentation.dispose();
}

Gunakan ForEach.shape sebagai gantinya ketika setiap shape dapat diproses segera dan Anda tidak perlu menyimpan hasil yang dikumpulkan.

Kompres Konten Presentasi

Kelas Compress dapat menghapus elemen struktural yang tidak terpakai dan mengurangi data font yang tertanam:

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Compress.removeUnusedLayoutSlides(presentation);
    Compress.removeUnusedMasterSlides(presentation);
    Compress.compressEmbeddedFonts(presentation);

    presentation.save("compressed.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Hapus tata letak yang tidak terpakai sebelum master yang tidak terpakai sehingga master yang menjadi tidak direferensikan setelah pembersihan tata letak juga dapat dihapus. Simpan presentasi yang dioptimalkan ke file baru jika Anda mungkin memerlukan master, tata letak, atau data font tertanam lengkap yang asli nanti. Untuk detail lebih lanjut, lihat Slide Master dan Embedded Font.

FAQ

Kapan saya harus menggunakan API low-code dibandingkan model objek lengkap?

Gunakan pembantu low-code ketika operasi standar berlaku pada file atau presentasi lengkap dan tidak memerlukan kontrol detail atas elemen individual. Gunakan model objek lengkap ketika Anda perlu memilih slide tertentu, mengontrol hubungan master dan tata letak, memeriksa keadaan menengah, atau mengkonfigurasi perilaku yang tidak disediakan oleh pembantu.

Apakah Merger dapat menggabungkan presentasi dengan format file yang berbeda?

Tidak. Merger.process memerlukan presentasi masukan dalam format yang sama. Konversi file masukan ke format umum terlebih dahulu, misalnya dengan Convert.autoByExtension, lalu gabungkan file yang sudah dikonversi.

Apakah ForEach memproses slide master, layout, dan catatan?

ForEach.slide mengiterasi slide presentasi normal. Operasi ForEach.shape, ForEach.paragraph, dan ForEach.portion termasuk slide normal, master, dan layout secara default. Gunakan overload mereka dengan includeNotes diset ke true untuk menyertakan slide catatan.

Apa perbedaan antara ForEach.shape dan Collect.shapes?

Gunakan ForEach.shape untuk memproses setiap shape secara langsung melalui callback. Gunakan Collect.shapes ketika Anda memerlukan hasil iterabel yang dapat disimpan, difilter, dihitung, atau ditelusuri berulang kali.

Apakah Compress selalu membuat file presentasi lebih kecil?

Tidak selalu. Hasilnya tergantung pada apakah presentasi berisi tata letak yang tidak terpakai, master yang tidak terpakai, atau font tertanam dengan karakter yang tidak terpakai. Jika tidak ada yang demikian, operasi Compress yang bersangkutan mungkin tidak mengurangi ukuran file.

Apakah perubahan yang dibuat oleh ForEach atau Compress disimpan secara otomatis?

Tidak. Pembantu ini beroperasi pada objek Presentation yang dimuat di memori. Setelah mengubah elemen dalam callback ForEach atau menjalankan Compress, panggil Presentation.save untuk menulis hasilnya.

Artikel Terkait