Cara Menyimpan Presentasi di .NET
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx format menggunakan prs.Save(path, SaveFormat.Pptx). Panduan ini mencakup pola penyimpanan yang benar, menyimpan ke jalur yang berbeda, menyimpan 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 using pernyataan. Panggilan penyimpanan 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 Save() panggilan setelah semua modifikasi selesai, sebelum using ruang lingkup 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);Langkah 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);The template.pptx file tidak dimodifikasi; customized.pptx dibuat (atau ditimpa jika sudah ada).
Langkah 5: Simpan ke Stream
The Presentation.Save metode juga menerima sebuah 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 Solusinya
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() berjalan, panggilan berikutnya akan gagal atau menghasilkan output yang rusak.
Format output yang tidak terduga saat menyimpan
Melewatkan apa pun SaveFormat nilai 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
Apakah saya dapat 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 apa adanya. Perpustakaan hanya men-serialisasi bagian-bagian model dokumen yang dipahaminya, dan meneruskan semua XML yang tidak dikenalnya.