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.FossLangkah 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
| Format | Nilai Enum | Disokong |
|---|---|---|
| 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 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 originalAdakah 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.