PowerPoint Sunumları Oluşturun C#

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 - Ü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.

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.

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.

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

İ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.