En yaygın ve yaygın olarak kullanılan sunum dosyası formatları PPT, PPTX ve ODP’dir. Ünlü Microsoft PowerPoint, OpenOffice Impress ve Apple Keynote bu formatları destekler ve normalde bu formatları muhteşem sunumlar yapmak için kullanırız. Geliştirici olarak uygulamalarımızdaki sunumları programlı olarak düzenleyebiliriz. Bu makalede, sunum düzenleme için .NET API’yi kullanarak C#’ta PPT/PPTX sunumlarının nasıl düzenleneceğini tartışacağız.
Bu makalede kısaca ele alınan konular şunlardır:
Sunum Düzenleme ve Otomasyon için .NET API
Şimdi aşağıdaki C# örneklerinde GroupDocs.Editor for .NET‘i kullanacağız. Sunum düzenleme API’sidir ve geliştiricilerin düzenlenen sunumları PPT, PPTX, PDF gibi diğer formatlarda yüklemesine, düzenlemesine ve kaydetmesine olanak tanır. Sunum formatlarına ek olarak API, kelime işlem belgelerinin, elektronik tabloların, HTML, XML, JSON, TXT, TSV ve CSV formatlarının düzenlenmesini destekler.
DLL’leri veya MSI yükleyicisini indirilenler bölümünden indirin veya API’yi NuGet aracılığıyla .NET uygulamanıza yükleyin.
PM> Install-Package GroupDocs.Editor
C#’ta PPTX/PPTX Sunumlarını Düzenleme
API’yi kurduktan hemen sonra sunum slaytlarınızı düzenlemeye hızla geçebilirsiniz. Aşağıdaki adımlar PPT/PPTX ve diğer desteklenen formatların sunumunu düzenlemenize olanak sağlayacaktır.
- Sunuyu yükleyin.
- Mevcut seçenekleri kullanarak düzenleyin.
- Düzenlenen sunuyu kaydedin.
PPT/PPTX Sunumunu Yükleyin
Öncelikle sunum korumalıysa sunum dosyasının yolunu ve şifresini girerek sunumu yükleyin.
// Load Presentation
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
// Load Presentation
Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.Password = "P@$$w0Rd";
}
PPT/PPTX Sunum Slaytlarını Düzenleyin
Yüklendikten sonra yüklenen sunumu ihtiyaca göre düzenleyebilirsiniz. Burada, aşağıdaki C# kodunu kullanarak bir PPTX sunumunda “belgeler” kelimesinin tüm geçişlerini “sunum” ile değiştiriyorum.
// Edit Presentation
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
{
Options.PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.SlideNumber = 0; // 1st slide
editOptions.ShowHiddenSlides = true;
using (EditableDocument beforeEdit = editor.Edit(editOptions))
{
string originalContent = beforeEdit.GetContent();
List<IHtmlResource> allResources = beforeEdit.AllResources;
string editedContent = originalContent.Replace("documents", "presentation");
}
}
Düzenlenen PowerPoint sunumunu Seçenekler ile kaydedin
Son olarak, düzenlenen sunum içeriğini kaydederken çeşitli seçenekleri daha da ayarlayabilirsiniz. Bu seçenekler arasında; şifreyi, çıktı formatı ayarlarını ayarlayın. Yukarıdaki seçenekleri aşağıda belirtilen kodda ayarlayıp, düzenlenen sunumu şifre korumalı PPTX dosyası olarak kaydediyorum.
// Save Presentation
using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.Password = "new_pa$$word";
using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
}
Kodu Tamamla
Kolaylık olması açısından, yukarıda açıklanan C# örneğinin tamamını burada bulabilirsiniz ve bu örnek, PowerPoint sunumunu düzenler ve ardından PPTX formatında kaydeder.
// GroupDocs sunum düzenleme ve otomasyon API'sini kullanarak C#'ta PPT/PPTX sunumlarını düzenleyin
using (FileStream fs = File.OpenRead("path/presentation.pptx"))
{
// Sunumu Yükle
Options.PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.Password = "P@$$w0Rd";
// Sunumu Düzenle
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
{
Options.PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.SlideNumber = 0; // 1st slide
editOptions.ShowHiddenSlides = true;
using (EditableDocument beforeEdit = editor.Edit(editOptions))
{
string originalContent = beforeEdit.GetContent();
List<IHtmlResource> allResources = beforeEdit.AllResources;
string editedContent = originalContent.Replace("documents", "presentation");
// Sunumu Kaydet
using (EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResources))
{
Options.PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.Password = "new_pa$$word";
using (FileStream outputStream = File.Create("path/edited-presentation.pptx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
}
}
}
}
Aşağıda, yukarıdaki kod kullanılarak tüm oluşumların değiştirildiği çıktı sunumu yer almaktadır.
Çözüm
Sonuç olarak, .NET uygulamaları için sunum düzenleme API’sini kullanarak C#’ta sunum slaytlarını düzenlemeyi tartıştık. Sunumlarınızın görsel düzenlemesi için API’yi WYSIWYG editörleriyle birlikte kullanabilirsiniz. Bundan sonra kendi sunum düzenleyicinizi oluşturmaya devam edebilirsiniz. Benzer şekilde düzenleme özelliğini de .NET uygulamanıza entegre edebilirsiniz.
Daha fazla ayrıntı, seçenek ve örnek için dokümantasyon ve GitHub deposunu ziyaret edebilirsiniz. Daha fazla sorunuz için forum adresindeki destek ekibiyle iletişime geçin.