Cara Menyimpan Presentasi di .NET
Aspose.Slides FOSS for .NET menyimpan presentasi secara eksklusif ke format .pptx menggunakan prs.Save(path, SaveFormat.Pptx). Panduan ini mencakup pola penyimpanan yang benar, penyimpanan ke jalur yang berbeda, penyimpanan ke aliran, dan kesalahan umum terkait penyimpanan.
Panduan Langkah-demi-Langkah
Langkah 1: Instal Paket
dotnet add package Aspose.Slides.FossLangkah 2: Buka atau Buat Presentasi
Selalu gunakan pernyataan using. Panggilan save harus terjadi sebelum objek dibuang.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);Langkah 3: Simpan Setelah Semua Modifikasi
Letakkan panggilan Save() setelah semua modifikasi selesai, sebelum ruang lingkup using berakhir.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);Step 4: Simpan ke Jalur yang Berbeda
Berikan jalur output yang berbeda untuk membuat file baru tanpa mengubah yang asli:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);File template.pptx tidak dimodifikasi; customized.pptx dibuat (atau ditimpa jika sudah ada).
Langkah 5: Simpan ke Stream
Metode Presentation.Save juga menerima Stream:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");Langkah 6: Verifikasi Output
Setelah menyimpan ke file, periksa apakah file tersebut ada:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Format Penyimpanan yang Didukung
| Format | Nilai Enum | Didukung |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Ya |
| N/A | Tidak | |
| HTML | N/A | Tidak |
| SVG | N/A | Tidak |
| PNG / JPEG | N/A | Tidak |
| ODP (OpenDocument) | N/A | Tidak |
Hanya PPTX yang didukung. Parameter format saat ini diabaikan; semua presentasi disimpan sebagai PPTX terlepas dari SaveFormat yang ditentukan.
Masalah Umum dan Solusi
IOException: The process cannot access the file
File output terbuka di aplikasi lain (misalnya, PowerPoint memiliki file terbuka). Tutup file di aplikasi lain sebelum menyimpan.
File dibuat tetapi tampak kosong atau rusak
Pastikan prs.Save() dipanggil sebelum objek dibuang. Setelah Dispose() dijalankan, panggilan selanjutnya akan gagal atau menghasilkan output yang rusak.
Format output yang tidak terduga saat menyimpan
Menyampaikan nilai SaveFormat apa pun selain SaveFormat.Pptx tidak melempar pengecualian — parameter format diabaikan secara diam-diam dan file selalu disimpan sebagai PPTX. Tidak ada NotSupportedException untuk nilai format yang tidak dikenali.
Pertanyaan yang Sering Diajukan
Bisakah saya menyimpan ke file yang sama yang saya buka?
Ya. Menyimpan ke jalur yang sama akan menimpa file asli:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalApakah penyimpanan mempertahankan konten yang belum saya ubah?
Ya. Bagian XML yang tidak dikenal dari file asli dipertahankan secara verbatim. Perpustakaan hanya men‑serialisasi bagian‑bagian model dokumen yang dipahaminya, dan meneruskan setiap XML yang tidak dikenalnya.