Cara Menyimpan Presentasi di .NET

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.Foss

Langkah 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

FormatNilai EnumDidukung
PPTX (Office Open XML)SaveFormat.PptxYa
PDFN/ATidak
HTMLN/ATidak
SVGN/ATidak
PNG / JPEGN/ATidak
ODP (OpenDocument)N/ATidak

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 original

Apakah 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.


Lihat Juga

 Bahasa Indonesia