Cara Menyimpan Persembahan dalam .NET

Cara Menyimpan Persembahan dalam .NET

Aspose.Slides FOSS untuk .NET menyimpan persembahan secara eksklusif ke format .pptx menggunakan prs.Save(path, SaveFormat.Pptx). Panduan ini merangkumi corak simpan yang betul, menyimpan ke laluan yang berbeza, menyimpan ke aliran, dan ralat biasa yang berkaitan dengan penyimpanan.

Panduan Langkah demi Langkah

Langkah 1: Pasang Pakej

dotnet add package Aspose.Slides.Foss

Langkah 2: Buka atau Cipta Persembahan

Sentiasa gunakan pernyataan using. Panggilan simpan mesti berlaku 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 Selepas Semua Pengubahsuaian

Letakkan panggilan Save() selepas semua pengubahsuaian selesai, sebelum skop 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);

Langkah 4: Simpan ke Laluan Berbeza

Berikan laluan output yang berbeza untuk membuat fail baru tanpa mengubah yang asal:

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

Fail template.pptx tidak diubah; customized.pptx dibuat (atau ditimpa jika sudah wujud).


Langkah 5: Simpan ke Aliran

Kaedah 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: Sahkan Output

Selepas menyimpan ke fail, periksa sama ada ia wujud:

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

Format Simpanan yang Disokong

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

Hanya PPTX yang disokong. Parameter format kini diabaikan; semua persembahan disimpan sebagai PPTX tanpa mengira SaveFormat yang ditentukan.


Isu Umum dan Penyelesaian

IOException: The process cannot access the file

Fail output dibuka dalam aplikasi lain (contohnya, PowerPoint mempunyai fail terbuka). Tutup fail dalam aplikasi lain sebelum menyimpan.

Fail dicipta tetapi kelihatan kosong atau rosak

Pastikan prs.Save() dipanggil sebelum objek dibuang. Selepas Dispose() dijalankan, panggilan seterusnya akan gagal atau menghasilkan output yang rosak.

Format output tidak dijangka semasa menyimpan

Melewatkan sebarang nilai SaveFormat selain SaveFormat.Pptx tidak akan melemparkan pengecualian — parameter format diabaikan secara senyap dan fail sentiasa disimpan sebagai PPTX. Tiada NotSupportedException untuk nilai format yang tidak dikenali.


Soalan Lazim

Bolehkah saya menyimpan ke fail yang sama yang saya buka?

Ya. Menyimpan ke laluan yang sama akan menimpa fail asal:

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

Adakah menyimpan mengekalkan kandungan yang tidak saya ubah?

Ya. Bahagian XML yang tidak diketahui dari fail asal dipelihara secara verbatim. Perpustakaan hanya menserialkan bahagian model dokumen yang difahaminya, dan meneruskan sebarang XML yang tidak dikenalnya.


Lihat Juga

 Bahasa Melayu