.NET'te Sunumları Kaydet
Genel Bakış
C#‘da Sunum Açma bir sunumu açmak için Presentation sınıfının nasıl kullanılacağını açıklamıştır. Bu makale, sunumların nasıl oluşturulacağını ve kaydedileceğini anlatır. Presentation sınıfı bir sunumun içeriğini tutar. Sıfırdan bir sunum oluşturuyorsanız ya da mevcut bir sunumu değiştiriyorsanız, işi tamamladığınızda onu kaydetmek isteyeceksiniz. Aspose.Slides for .NET ile file veya stream olarak kaydedebilirsiniz. Bu makale, bir sunumu kaydetmenin farklı yollarını açıklar.
Sunumları Dosyalara Kaydet
Presentation sınıfının Save yöntemini çağırarak bir sunumu dosyaya kaydedin. Yönteme dosya adını ve kaydetme biçimini iletin. Aşağıdaki örnek, Aspose.Slides ile bir sunumu nasıl kaydedeceğinizi gösterir.
// Sunum dosyasını temsil eden Presentation sınıfını oluşturun.
using (Presentation presentation = new Presentation())
{
// Burada bazı işlemleri yapın...
// Sunumu bir dosyaya kaydedin.
presentation.Save("Output.pptx", SaveFormat.Pptx);
}
Sunumları Akışlara Kaydet
Presentation sınıfının Save yöntemine bir çıktı akışı geçerek bir sunumu akışa kaydedebilirsiniz. Sunum birçok akış türüne yazılabilir. Aşağıdaki örnekte yeni bir sunum oluşturup bir dosya akışına kaydediyoruz.
// Sunum dosyasını temsil eden Presentation sınıfını başlat.
using (Presentation presentation = new Presentation())
{
using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create))
{
// Sunumu akışa kaydedin.
presentation.Save(fileStream, SaveFormat.Pptx);
}
}
Önceden Tanımlı Görünüm Türü ile Sunumları Kaydet
Aspose.Slides, oluşturulan sunum açıldığında PowerPoint’in kullandığı ilk görünümü ViewProperties sınıfı aracılığıyla ayarlamanıza izin verir. ViewProperties sınıfındaki LastView özelliğini ViewType enum’ından bir değere ayarlayın.
using (Presentation presentation = new Presentation())
{
presentation.ViewProperties.LastView = ViewType.SlideMasterView;
presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx);
}
Sunumları Katı Office Open XML Biçiminde Kaydet
Aspose.Slides, bir sunumu Katı Office Open XML biçiminde kaydetmenize olanak tanır. Kaydederken PptxOptions sınıfını kullanıp onun Conformance özelliğini ayarlayın. Conformance.Iso29500_2008_Strict olarak ayarlandığında çıkış dosyası Katı Office Open XML biçiminde kaydedilir.
Aşağıdaki örnek bir sunum oluşturur ve Katı Office Open XML biçiminde kaydeder.
PptxOptions options = new PptxOptions()
{
Conformance = Conformance.Iso29500_2008_Strict
};
// Sunum dosyasını temsil eden Presentation sınıfını başlat.
using (Presentation presentation = new Presentation())
{
// Sunumu Katı Office Open XML biçiminde kaydedin.
presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
}
Sunumları Office Open XML Biçiminde Zip64 Modunda Kaydet
Office Open XML dosyası, sıkıştırılmamış dosya boyutu, sıkıştırılmış dosya boyutu ve arşiv toplam boyutu için 4 GB (2^32 bayt) sınırı koyan bir ZIP arşividir; ayrıca arşivde en fazla 65 535 (2^16‑1) dosya bulunabilir. ZIP64 biçim uzantıları bu sınırlamaları 2^64’e çıkarır.
IPptxOptions.Zip64Mode özelliği, bir Office Open XML dosyası kaydedilirken ZIP64 biçim uzantılarının ne zaman kullanılacağını seçmenizi sağlar.
Bu özellik aşağıdaki modları sunar:
IfNecessarysunum yukarıdaki sınırlamaları aştığında yalnızca ZIP64 uzantılarını kullanır. Bu varsayılan moddur.NeverZIP64 uzantılarını hiçbir zaman kullanmaz.Alwaysher zaman ZIP64 uzantılarını kullanır.
Aşağıdaki kod, ZIP64 biçim uzantıları etkinleştirilmiş bir PPTX dosyası olarak bir sunumu nasıl kaydedeceğinizi gösterir:
using (Presentation presentation = new Presentation("Sample.pptx"))
{
presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions()
{
Zip64Mode = Zip64Mode.Always
});
}
NOTE
Zip64Mode.Never ile kaydettiğinizde, sunum ZIP32 biçiminde kaydedilemezse bir PptxException istisnası fırlatılır.
Sunumları Office Open XML Biçiminde Sıkıştırma Düzeyleriyle Kaydet
Büyük sunumlarla çalışırken dosya boyutu ile işleme süresini dengelemek için sıkıştırma düzeyini ayarlayabilirsiniz. Gereksinimlerinize bağlı olarak daha hızlı işleme ya da daha küçük çıktı dosyalarını tercih edebilirsiniz.
Aspose.Slides, Office Open XML biçiminde bir sunumu kaydederken kullanılan sıkıştırma düzeyini belirlemenizi sağlayan IPptxOptions.CompressionLevel özelliğini sunar.
Mevcut sıkıştırma düzeyleri şunlardır:
- None: Hiç sıkıştırma uygulanmaz. Dosyalar olduğu gibi saklanır.
- Level1: En düşük sıkıştırma oranı ile en hızlı sıkıştırma.
- Level2: Level1‘e göre biraz daha iyi sıkıştırma oranı ile daha hızlı sıkıştırma.
- Level3: Level2‘den daha iyi sıkıştırma sağlar, işleme süresi orta seviyededir.
- Level4: Level3‘ten daha iyi sıkıştırma sağlar.
- Level5: Level4‘ten iyileştirilmiş sıkıştırma, ek işleme süresi gerektirir.
- Level6: İşleme hızı ve dosya boyutu arasında iyi bir denge sunan standart sıkıştırma. Bu varsayılan sıkıştırma seviyesidir.
- Level7: Level6‘dan daha iyi sıkıştırma, ancak daha yavaş işleme.
- Level8: Level7‘den daha iyi sıkıştırma.
- Level9: En yüksek sıkıştırma. En uzun işleme süresi karşılığında en küçük dosya boyutunu üretir.
Aşağıdaki örnek, sıkıştırma olmadan bir PPTX dosyası olarak bir sunumu nasıl kaydedeceğinizi gösterir:
using (Presentation pres = new Presentation("Sample.pptx"))
{
pres.Save("Sample-out.pptx", SaveFormat.Pptx, new PptxOptions
{
CompressionLevel = CompressionLevel.None
});
}
Bu örnek, en yüksek sıkıştırma ile bir PPTX dosyası olarak bir sunumu nasıl kaydedeceğinizi gösterir:
using (Presentation pres = new Presentation("Sample.pptx"))
{
pres.Save("Sample-level9.pptx", SaveFormat.Pptx, new PptxOptions
{
CompressionLevel = CompressionLevel.Level9
});
}
Küçük Resmi Yenilemeden Sunumları Kaydet
PptxOptions.RefreshThumbnail özelliği, bir sunumu PPTX olarak kaydederken küçük resim oluşturulmasını denetler:
trueolarak ayarlandığında kaydetme sırasında küçük resim yenilenir. Bu varsayılandır.falseolarak ayarlandığında mevcut küçük resim korunur. Sunumun küçük resmi yoksa hiç oluşturulmaz.
Aşağıdaki kod, sunumu küçük resmi yenilemeden PPTX olarak kaydeder.
using (Presentation presentation = new Presentation("Sample.pptx"))
{
presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions()
{
RefreshThumbnail = false
});
}
Info
Bu seçenek, PPTX biçiminde bir sunumu kaydetme süresini azaltmaya yardımcı olur.İlerleme Güncellemelerini Yüzde Olarak Kaydet
IProgressCallback arayüzü, ISaveOptions arayüzü tarafından açığa çıkarılan ProgressCallback özelliği ve soyut SaveOptions sınıfı aracılığıyla kullanılır. ProgressCallback özelliğine bir IProgressCallback uygulaması atayarak kaydetme ilerlemesini yüzde olarak alabilirsiniz.
Aşağıdaki kod parçacıkları IProgressCallback kullanımını gösterir.
ISaveOptions saveOptions = new PdfOptions();
saveOptions.ProgressCallback = new ExportProgressHandler();
using (Presentation presentation = new Presentation("Sample.pptx"))
{
presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions);
}
class ExportProgressHandler : IProgressCallback
{
public void Reporting(double progressValue)
{
// Burada ilerleme yüzde değerini kullanın.
int progress = Convert.ToInt32(progressValue);
Console.WriteLine(progress + "% of the file has been converted.");
}
}
Info
Aspose, kendi API’sini kullanan ücretsiz bir PowerPoint Splitter uygulaması geliştirmiştir. Uygulama, seçilen slaytları yeni PPTX veya PPT dosyaları olarak kaydederek bir sunumu birden çok dosyaya bölmenizi sağlar.SSS
“Hızlı kaydet” (artımlı kaydet) sadece değişiklikleri yazarak destekleniyor mu?
Hayır. Kaydetme her seferinde tam hedef dosyayı oluşturur; artımlı “hızlı kaydet” desteklenmez.
Aynı Presentation örneğini birden çok thread’den kaydetmek thread‑safe mi?
Hayır. Bir Presentation örneği thread‑safe değildir; tek bir thread’den kaydedin.
Kaydetme sırasında köprüler ve harici bağlantılı dosyalar ne oluyor?
Hyperlinks korunur. Harici bağlantılı dosyalar (ör. göreceli yollarla eklenen videolar) otomatik olarak kopyalanmaz; başvurulan yolların erişilebilir olduğundan emin olun.
Belge meta verilerini (Yazar, Başlık, Şirket, Tarih) ayarlayıp kaydedebilir miyim?
Evet. Standart document properties desteklenir ve kaydetme sırasında dosyaya yazılır.