Operasi Presentasi Low-Code di .NET
Gambaran Umum
Namespace Aspose.Slides.LowCode menyediakan kelas pembantu statis untuk operasi presentasi yang umum. Pembantu ini membungkus alur kerja model objek yang sering digunakan ke dalam metode yang fokus, 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 untuk seluruh file atau presentasi dan alur kerja default sesuai dengan kebutuhan Anda. Gunakan model objek lengkap Aspose.Slides ketika Anda memerlukan kontrol yang halus atas slide individual, master, layout, shape, pengaturan ekspor, atau hubungan antar elemen presentasi.
Tabel berikut merangkum pembantu yang tersedia:
| Helper | Digunakan untuk |
|---|---|
| Convert | Mengonversi presentasi ke format lain dengan panggilan file‑to‑file langsung. |
| Merger | Menggabungkan file presentasi lengkap dengan format yang sama. |
| ForEach | Menjalankan aksi untuk setiap slide, shape, paragraf, atau potongan teks. |
| Collect | Mengambil shape dari seluruh presentasi untuk pemrosesan atau analisis berulang. |
| Compress | Menghapus master dan layout yang tidak terpakai serta mengurangi data font yang disematkan. |
Konversi Presentasi
Gunakan Convert.AutoByExtension ketika ekstensi file keluaran sudah cukup untuk memilih format ekspor. Metode ini membuka presentasi sumber, menentukan format yang dibutuhkan dari jalur keluaran, dan menulis hasilnya.
using Aspose.Slides.LowCode;
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 diekspor atau mengonfigurasi 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 yang dimasukkan harus memiliki format file yang sama.
using Aspose.Slides.LowCode;
var inputFiles = new[] { "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 mereka secara individual. Gunakan model objek lengkap ketika Anda perlu menggabungkan slide yang dipilih, menerapkan master atau layout 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 jenis elemen presentasi yang diminta. Ini menghindari loop koleksi bersarang dan nyaman untuk inspeksi atau perubahan format pada tingkat seluruh presentasi.
Contoh berikut menggunakan ForEach.Slide, ForEach.Shape, ForEach.Paragraph, dan ForEach.Portion untuk memeriksa elemen yang bersangkutan:
using System;
using Aspose.Slides;
using Aspose.Slides.LowCode;
using var presentation = new Presentation("input.pptx");
ForEach.Slide(presentation, (slide, index) =>
{
Console.WriteLine($"Slide {index}: {slide.Shapes.Count} shapes");
});
ForEach.Shape(presentation, (shape, slide, index) =>
{
Console.WriteLine($"Shape {index} on {slide.GetType().Name}: {shape.Name}");
});
ForEach.Paragraph(presentation, (paragraph, slide, index) =>
{
Console.WriteLine($"Paragraph {index} on {slide.GetType().Name}: {paragraph.Text}");
});
ForEach.Portion(presentation, (portion, paragraph, slide, index) =>
{
Console.WriteLine($"Portion {index} on {slide.GetType().Name}: {portion.Text}");
});
Secara default, penelusuran shape dan teks pada seluruh presentasi mencakup slide normal, master, dan layout. Overload dengan parameter includeNotes juga dapat memproses slide catatan. Gunakan loop koleksi langsung ketika urutan penelusuran, keluar lebih awal, penyaringan 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 disaring, dihitung, atau diproses lebih dari satu kali.
using System;
using Aspose.Slides;
using Aspose.Slides.LowCode;
using var presentation = new Presentation("input.pptx");
var shapes = Collect.Shapes(presentation);
foreach (var shape in shapes)
{
Console.WriteLine($"{shape.Name}: {shape.GetType().Name}");
}
Gunakan ForEach.Shape sebagai gantinya ketika setiap shape dapat ditangani 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 disematkan:
- Compress.RemoveUnusedLayoutSlides menghapus slide layout yang tidak dirujuk oleh slide normal mana pun.
- Compress.RemoveUnusedMasterSlides menghapus slide master yang tidak lagi digunakan.
- Compress.CompressEmbeddedFonts menghapus karakter yang tidak terpakai dari font yang disematkan.
using Aspose.Slides;
using Aspose.Slides.Export;
using Aspose.Slides.LowCode;
using var presentation = new Presentation("input.pptx");
Compress.RemoveUnusedLayoutSlides(presentation);
Compress.RemoveUnusedMasterSlides(presentation);
Compress.CompressEmbeddedFonts(presentation);
presentation.Save("compressed.pptx", SaveFormat.Pptx);
Hapus layout yang tidak terpakai sebelum master yang tidak terpakai sehingga master yang menjadi tidak dirujuk setelah pembersihan layout juga dapat dihapus. Simpan presentasi yang telah dioptimalkan ke file baru jika Anda mungkin memerlukan master, layout, atau data font yang disematkan secara lengkap nanti. Untuk detail lebih lanjut, lihat Slide Master dan Embedded Font.
FAQ
Kapan saya harus menggunakan API low‑code alih‑alih 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 layout, memeriksa keadaan menengah, atau mengonfigurasi perilaku yang tidak diekspos oleh pembantu.
Apakah Merger dapat menggabungkan presentasi dengan format file yang berbeda?
Tidak. Merger.Process memerlukan presentasi masukan dengan format yang sama. Konversi file masukan ke format umum terlebih dahulu, misalnya dengan Convert.AutoByExtension, kemudian gabungkan file yang telah dikonversi.
Apakah ForEach memproses slide master, layout, dan catatan?
ForEach.Slide mengiterasi slide presentasi normal. ForEach.Shape, ForEach.Paragraph, dan ForEach.Portion pada tingkat seluruh presentasi mencakup 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 segera melalui callback. Gunakan Collect.Shapes ketika Anda memerlukan hasil enumerable yang dapat disimpan, disaring, dihitung, atau ditelusuri berkali‑kali.
Apakah Compress selalu membuat file presentasi lebih kecil?
Tidak selalu. Hasilnya tergantung pada apakah presentasi berisi layout yang tidak terpakai, master yang tidak terpakai, atau font yang disematkan dengan karakter yang tidak terpakai. Jika tidak ada hal tersebut, 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.