.NET'te Sunumları Kaydetme
Aspose.Slides FOSS for .NET, sunumları yalnızca .pptx formatında prs.Save(path, SaveFormat.Pptx) kullanarak kaydeder. Bu kılavuz, doğru kaydetme desenini, farklı bir yola kaydetmeyi, bir akışa kaydetmeyi ve yaygın kaydetme ile ilgili hataları kapsar.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
dotnet add package Aspose.Slides.FossAdım 2: Sunumu Aç veya Oluştur
Her zaman bir using ifadesi kullanın. Kaydetme çağrısı, nesne serbest bırakılmadan önce gerçekleşmelidir.
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);Adım 3: Tüm Değişikliklerden Sonra Kaydet
Tüm değişiklikler tamamlandıktan sonra Save() çağrısını yerleştirin, using kapsamı sona ermeden önce.
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);Adım 4: Farklı Bir Yola Kaydet
Orijinali değiştirmeden yeni bir dosya oluşturmak için farklı bir çıktı yolu belirtin:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);template.pptx dosyası değiştirilmez; customized.pptx oluşturulur (veya zaten varsa üzerine yazılır).
Adım 5: Akışa Kaydet
Presentation.Save yöntemi ayrıca bir Stream kabul eder:
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");Adım 6: Çıktıyı Doğrula
Bir dosyaya kaydettikten sonra, var olup olmadığını kontrol edin:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Desteklenen Kaydetme Formatı
| Biçim | Enum Değeri | Destekleniyor |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Evet |
| N/A | Hayır | |
| HTML | N/A | Hayır |
| SVG | N/A | Hayır |
| PNG / JPEG | N/A | Hayır |
| ODP (OpenDocument) | N/A | Hayır |
Yalnızca PPTX desteklenir. Format parametresi şu anda yok sayılıyor; tüm sunumlar, belirtilen SaveFormat’a bakılmaksızın PPTX olarak kaydedilir.
Yaygın Sorunlar ve Çözümler
IOException: The process cannot access the file
Çıktı dosyası başka bir uygulamada açık (ör. PowerPoint dosyayı açmış). Kaydetmeden önce dosyayı diğer uygulamalarda kapatın.
Dosya oluşturuldu ancak boş veya bozuk görünüyor
prs.Save()‘in nesne serbest bırakılmadan önce çağrıldığından emin olun. Dispose() çalıştıktan sonra, sonraki çağrılar başarısız olur veya bozuk çıktı üretir.
Kaydederken beklenmeyen çıktı formatı
SaveFormat değerlerinden SaveFormat.Pptx dışındakileri geçirmek bir istisna fırlatmaz — format parametresi sessizce yok sayılır ve dosya her zaman PPTX olarak kaydedilir. Tanınmayan bir format değeri için NotSupportedException yoktur.
Sıkça Sorulan Sorular
Açtığım aynı dosyaya kaydedebilir miyim?
Evet. Aynı yola kaydetmek, orijinal dosyanın üzerine yazar:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalKaydetmek, değiştirmediğim içeriği korur mu?
Evet. Orijinal dosyadan gelen bilinmeyen XML bölümleri kelimesi kelimesine korunur. Kütüphane yalnızca anladığı belge modelinin bölümlerini serileştirir ve tanımadığı XML’leri olduğu gibi geçirir.