Cara Menyimpan Pembentangan dalam .NET

Cara Menyimpan Pembentangan dalam .NET

Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx format 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 using pernyataan. 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 Save() panggilan selepas semua pengubahsuaian selesai, sebelum using skop 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 yang Berbeza

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

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

Fail template.pptx fail tidak diubah; customized.pptx dicipta (atau ditulis semula jika ia sudah wujud).


Langkah 5: Simpan ke Aliran

Kaedah Presentation.Save kaedah juga menerima satu 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 bahawa ia wujud:

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

Format Simpan 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 disokong. Parameter format kini diabaikan; semua pembentangan 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 (contoh, 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() berjalan, panggilan seterusnya akan gagal atau menghasilkan output yang rosak.

Format output yang tidak dijangka semasa menyimpan

Melewatkan apa-apa SaveFormat nilai selain SaveFormat.Pptx tidak 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 menulis semula fail asal:

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

Adakah penyimpanan mengekalkan kandungan yang tidak saya ubah?

Ya. Bahagian XML yang tidak dikenali daripada fail asal dipelihara secara tepat. Perpustakaan hanya menserialkan bahagian model dokumen yang difahaminya, dan meneruskan sebarang XML yang tidak dikenali.


Lihat Juga

 Bahasa Melayu