MS PowerPoint sunumları, metin, resimler, grafikler, animasyonlar ve diğer öğeleri içeren slayt gösterileri oluşturmanıza olanak tanır. Çeşitli ek biçimlendirme seçenekleri, sunumlarınızı daha çekici hale getirmenizi sağlar. Bu gönderide, bu tür sunumları programlı olarak nasıl oluşturacağınızı öğreneceksiniz. C# kullanarak metin, tablolar, resimler ve çizelgeler içeren PPTX sunumlarının nasıl oluşturulacağını öğreneceksiniz.
- C# PowerPoint API’si
- Bir PowerPoint Sunusu Oluşturun
- Mevcut bir PowerPoint Sunumunu Açın
- Sunuya Slayt Ekleme
- Sunumun Slaydına Metin Ekleyin
- Sunuda Tablo Oluşturma
- Sunumda Grafik Oluşturma
- Sunuma Resim Ekleme
C# PowerPoint API’si - Ücretsiz İndirme
Aspose.Slides for .NET, .NET uygulamalarınızın içinden PowerPoint belgeleri oluşturmanıza ve değiştirmenize olanak sağlayan bir sunum işleme API’sidir. API, temel ve gelişmiş PowerPoint otomasyon özelliklerini uygulamak için gereken neredeyse tüm olası özellikleri sağlar. API’yi indirebilir veya NuGet aracılığıyla yükleyebilirsiniz.
Install-Package Aspose.Slides.NET
C# ile PowerPoint Sunumu Oluşturma
Aspose.Slides for .NET kullanarak boş bir PowerPoint sunumu oluşturarak başlayalım. Bunu yapmak için gereken adımlar aşağıdadır.
- Sunum sınıfının bir örneğini oluşturun.
- Presentation.Save(String, SaveFormat) yöntemini kullanarak PPTX olarak kaydedin.
Aşağıdaki kod örneği, C# dilinde bir PowerPoint sunumunun nasıl oluşturulacağını gösterir.
// Bir sunum dosyasını temsil eden bir Sunum nesnesinin örneğini oluşturun
using (Presentation presentation = new Presentation())
{
// İlk slaydı alın
ISlide slide = presentation.Slides[0];
// Slayda içerik ekleyin...
// Sunumu kaydet
presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}
C# ile Mevcut Bir PowerPoint Sunumunu Açın
Mevcut bir PowerPoint sunumunu açmak için fazladan çaba harcamanıza gerek yok. PPTX dosyasının yolunu Sunum sınıfının yapıcısına vermeniz yeterlidir ve işiniz biter. Aşağıdaki kod örneği, varolan bir PPTX sunumunun nasıl açılacağını gösterir.
// Dosya yolunu Presentation sınıfının yapıcısına geçirerek sunum dosyasını açma
Presentation pres = new Presentation("OpenPresentation.pptx");
// Sunumdaki toplam slayt sayısını yazdırma
System.Console.WriteLine(pres.Slides.Count.ToString());
C# ile Sunuma Slayt Ekleme
Sunuyu oluşturduktan sonra, slaytları ona eklemeye başlayabilirsiniz. Aspose.Slides for .NET kullanarak sunuma slayt ekleme adımları aşağıdadır.
- Sunum sınıfının bir örneğini oluşturun.
- Presentations.Slides özelliğine bir başvuru ayarlayarak ISlideCollection sınıfını oluşturun.
- ISlideCollection nesnesi tarafından sunulan Slide.AddEmptySlide(ILayoutSlide) yöntemini kullanarak sunuya boş bir slayt ekleyin
- Sunum dosyasını Presentation.Save(String, SaveFormat) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir PowerPoint sunumuna nasıl slayt ekleneceğini gösterir.
// Sunum dosyasını temsil eden Sunum sınıfını oluşturun
using (Presentation pres = new Presentation())
{
// SlideCollection sınıfının örneğini oluşturun
ISlideCollection slds = pres.Slides;
for (int i = 0; i < pres.LayoutSlides.Count; i++)
{
// Slaytlar koleksiyonuna boş bir slayt ekleyin
slds.AddEmptySlide(pres.LayoutSlides[i]);
}
// PPTX dosyasını Diske kaydedin
pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);
}
C# kullanarak Slayda Metin Ekleme
Artık PowerPoint sunumundaki slaytlara içerik ekleyebiliriz. Önce aşağıdaki adımları kullanarak slayda bir metin parçası ekleyelim.
- Sunum sınıfını kullanarak yeni bir sunu oluşturun.
- Sunudaki slaydın referansını edinin.
- Slaydın belirli bir konumunda Dikdörtgen olarak ShapeType ile bir IAutoShape ekleyin.
- Yeni eklenen IAutoShape nesnesinin referansını edinin.
- Otomatik Şekil’e varsayılan metni içeren bir TextFrame ekleyin.
- Sunumu bir PPTX dosyası olarak kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir sunuda slayda nasıl metin ekleneceğini gösterir.
// PresentationEx'i Başlatın// PresentationEx'i Örneklendirin
using (Presentation pres = new Presentation())
{
// İlk slaydı alın
ISlide sld = pres.Slides[0];
// Dikdörtgen türünde bir Otomatik Şekil ekleyin
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Dikdörtgene TextFrame Ekle
ashp.AddTextFrame(" ");
// Metin çerçevesine erişme
ITextFrame txtFrame = ashp.TextFrame;
// Metin çerçevesi için Paragraf nesnesi oluşturma
IParagraph para = txtFrame.Paragraphs[0];
// Paragraf için Kısım nesnesi oluştur
IPortion portion = para.Portions[0];
// Metin ayarla
portion.Text = "Aspose TextBox";
// Sunumu diske kaydedin
pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
C# kullanarak Sunuda Tablo Oluşturma
Aspose.Slides for .NET, sunum belgesinde tablo oluşturmanın kolay bir yolunu sunar. Bunun için adımlar aşağıdadır.
- Sunum sınıfının bir örneğini oluşturun.
- Dizini kullanarak bir slaydın referansını edinin.
- Genişliğe sahip sütun dizilerini ve yüksekliğe sahip satırları tanımlayın.
- IShapes nesnesi tarafından sunulan Slide.Shapes.AddTable() yöntemini kullanarak slayda bir tablo ekleyin ve ITable örneğindeki tabloya referans alın.
- Biçimlendirmeyi uygulamak için her hücreyi yineleyin.
- Table.Rows[][].TextFrame.Text özelliğini kullanarak hücrelere metin ekleyin.
- Sunumu bir PPTX dosyası olarak kaydedin.
Aşağıdaki kod örneği, bir PowerPoint sunusu slaytında nasıl tablo oluşturulacağını gösterir.
// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
Presentation pres = new Presentation();
// İlk slayda erişin
ISlide sld = pres.Slides[0];
// Genişliklere sahip sütunları ve yüksekliklere sahip satırları tanımlayın
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Slayda tablo şekli ekleyin
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Her hücre için kenarlık biçimini ayarla
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// 1. satırın 1. ve 2. hücrelerini birleştir
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);
// Birleştirilmiş hücreye metin ekleme
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";
// PPTX'i Diske Kaydet
pres.Save("table.pptx", SaveFormat.Pptx);
C# kullanarak Sunuda Grafik Oluşturma
C# kullanarak PowerPoint sunumuna grafik ekleme adımları aşağıda verilmiştir.
- Sunum sınıfının bir örneğini oluşturun.
- Dizine göre bir slaydın referansını edinin.
- ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single) yöntemini kullanarak istediğiniz türde bir grafik ekleyin.
- Grafik başlığı ekleyin.
- Grafik verileri çalışma sayfasına erişin.
- Tüm varsayılan dizileri ve kategorileri temizleyin.
- Yeni seriler ve kategoriler ekleyin.
- Grafik serisi için yeni grafik verileri ekleyin.
- Grafik serisi için dolgu rengini ayarlayın.
- Grafik serisi etiketleri ekleyin.
- Sunumu bir PPTX dosyası olarak kaydedin.
Aşağıdaki kod örneği, C# kullanarak bir sunuya grafiğin nasıl ekleneceğini gösterir.
// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
Presentation pres = new Presentation();
// İlk slayda erişin
ISlide sld = pres.Slides[0];
// Varsayılan verilerle grafik ekle
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Ayar tablosu Başlık
// Chart.ChartTitle.TextFrameForOverriding.Text = "Örnek Başlık";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// İlk seriyi Değerleri Göster olarak ayarla
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Grafik veri sayfasının dizinini ayarlama
int defaultWorksheetIndex = 0;
// Grafik verileri çalışma sayfasını alma
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Oluşturulan varsayılan serileri ve kategorileri silin
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Yeni dizi ekleme
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Yeni kategoriler ekleme
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// İlk grafik serisini al
IChartSeries series = chart.ChartData.Series[0];
// Şimdi seri verileri dolduruluyor
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Seri için dolgu rengini ayarlama
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;
// İkinci grafik serisini alın
series = chart.ChartData.Series[1];
// Şimdi seri verileri dolduruluyor
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Seri için dolgu rengini ayarlama
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;
// İlk etiket Kategori adını gösterecek
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Üçüncü etiket için değer göster
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Sunumu grafikle kaydet
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);
Buradan sunum çizelgeleri hakkında daha fazla bilgi edinin.
Sunuma Resim Ekleme
Sunum slaydına resim ekleme adımları aşağıdadır.
- Sunum sınıfını kullanarak yeni bir sunum oluşturun.
- File.ReadAllText(String path) yöntemini kullanarak SVG görüntüsünü okuyun.
- Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y,float width, float height, IPPImage image) yöntemini kullanarak slayda görüntü ekleyin.
- Sunumu kaydedin.
Aşağıdaki kod örneği, C# dilinde bir sunuya nasıl resim ekleneceğini gösterir.
// Sunu oluştur
using (var p = new Presentation())
{
// Resmi oku
var svgContent = File.ReadAllText("image.svg");
// Resim koleksiyonuna resim ekle
var emfImage = p.Images.AddFromSvg(svgContent);
// Slayta resim ekle
p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
// Sunumu kaydet
p.Save("presentation.pptx", SaveFormat.Pptx);
}
Çözüm
Bu makalede, C# kullanarak sıfırdan PowerPoint sunumları oluşturmayı öğrendiniz. Ek olarak, yeni veya mevcut PPTX sunumlarına nasıl slayt, metin, tablo, resim ve çizelge ekleyeceğinizi gördünüz. Belgeleri kullanarak API hakkında daha fazla bilgi edinebilirsiniz.
Ayrıca bakınız
- PowerPoint PPTX Sunumlarını C# kullanarak koruyun
- ASP.NET’te MS PowerPoint Sunumları Oluşturma
- PowerPoint PPTX/PPT’yi C# ile PNG Görüntülerine Dönüştürme
- C# kullanarak PowerPoint Sunumlarında Slayt Arka Planını Ayarlama
- C# kullanarak PowerPoint PPTX veya PPT için Küçük Resimler oluşturun
- C# kullanarak PowerPoint’te Metne Animasyon Uygulayın
- C# kullanarak PowerPoint Sunumlarını Bölme
İpucu: Aspose.Slides, slayt veya sunum oluşturmanın yanı sıra sunumlarla çalışmanıza olanak tanıyan birçok özellik sağlar. Örneğin, Aspose kendi API’lerini kullanarak [Microsoft PowerPoint Sunumları için ücretsiz bir çevrimiçi görüntüleyici] geliştirdi28.