Twórz prezentacje PowerPoint C#

Prezentacje MS PowerPoint umożliwiają tworzenie pokazów slajdów zawierających tekst, obrazy, wykresy, animacje i inne elementy. Różne dodatkowe opcje formatowania pozwalają uatrakcyjnić prezentacje. W tym poście dowiesz się, jak programowo tworzyć takie prezentacje. Dowiesz się, jak tworzyć prezentacje PPTX zawierające tekst, tabele, obrazy i wykresy za pomocą języka C#.

C# PowerPoint API — bezpłatne pobieranie

Aspose.Slides for .NET to interfejs API do manipulowania prezentacjami, który umożliwia tworzenie dokumentów PowerPoint i manipulowanie nimi z poziomu aplikacji .NET. Interfejs API zapewnia prawie wszystkie możliwe funkcje wymagane do wdrożenia podstawowych i zaawansowanych funkcji automatyzacji programu PowerPoint. Możesz pobrać interfejs API lub zainstalować go za pomocą NuGet.

Install-Package Aspose.Slides.NET

Utwórz prezentację PowerPoint w C#

Zacznijmy od utworzenia pustej prezentacji PowerPoint przy użyciu Aspose.Slides for .NET. Aby to zrobić, wykonaj następujące czynności.

Poniższy przykładowy kod pokazuje, jak utworzyć prezentację programu PowerPoint w języku C#.

// Utwórz wystąpienie obiektu Presentation reprezentującego plik prezentacji
using (Presentation presentation = new Presentation())
{
    // Pobierz pierwszy slajd
    ISlide slide = presentation.Slides[0];

    // Dodaj zawartość do slajdu...
    
    // Zapisz prezentację
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

Otwórz istniejącą prezentację PowerPoint w C#

Nie musisz wkładać dodatkowych wysiłków, aby otworzyć istniejącą prezentację programu PowerPoint. Wystarczy podać ścieżkę pliku PPTX do konstruktora klasy Presentation i gotowe. Poniższy przykładowy kod pokazuje, jak otworzyć istniejącą prezentację PPTX.

// Otwarcie pliku prezentacji poprzez przekazanie ścieżki pliku do konstruktora klasy Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");

// Drukowanie łącznej liczby slajdów w prezentacji
System.Console.WriteLine(pres.Slides.Count.ToString());

Dodaj slajd do prezentacji w C#

Po utworzeniu prezentacji możesz rozpocząć dodawanie do niej slajdów. Poniżej przedstawiono kroki, aby dodać slajd w prezentacji przy użyciu Aspose.Slides for .NET.

Poniższy przykładowy kod pokazuje, jak dodać slajd w prezentacji programu PowerPoint przy użyciu języka C#.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik prezentacji
using (Presentation pres = new Presentation())
{
    // Utwórz instancję klasy SlideCollection
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // Dodaj pusty slajd do kolekcji Slajdy
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // Zapisz plik PPTX na dysku
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

Wstaw tekst do slajdu za pomocą C#

Teraz możemy dodawać zawartość do slajdów w prezentacji PowerPoint. Najpierw dodajmy fragment tekstu do slajdu, wykonując następujące czynności.

  • Utwórz nową prezentację, korzystając z klasy Presentation.
  • Uzyskaj odniesienie do slajdu w prezentacji.
  • Dodaj IAutoShape z ShapeType jako prostokąt w określonej pozycji slajdu.
  • Uzyskaj odwołanie do tego nowo dodanego obiektu IAutoShape.
  • Dodaj TextFrame do autokształtu zawierającego domyślny tekst.
  • Zapisz prezentację jako plik PPTX.

Poniższy przykładowy kod pokazuje, jak dodać tekst do slajdu w prezentacji przy użyciu języka C#.

// Utwórz instancję PresentationEx// Utwórz instancję PrezentacjaEx
using (Presentation pres = new Presentation())
{
    // Pobierz pierwszy slajd
    ISlide sld = pres.Slides[0];

    // Dodaj Autokształt typu Prostokąt
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // Dodaj TextFrame do prostokąta
    ashp.AddTextFrame(" ");

    // Dostęp do ramki tekstowej
    ITextFrame txtFrame = ashp.TextFrame;

    // Utwórz obiekt Akapit dla ramki tekstowej
    IParagraph para = txtFrame.Paragraphs[0];

    // Utwórz obiekt Porcja dla akapitu
    IPortion portion = para.Portions[0];

    // Ustaw tekst
    portion.Text = "Aspose TextBox";

    // Zapisz prezentację na dysku
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Utwórz tabelę w prezentacji za pomocą C#

Aspose.Slides for .NET zapewnia łatwy sposób tworzenia tabeli w dokumencie prezentacji. Oto kroki, które należy wykonać.

  • Utwórz instancję klasy Presentation.
  • Uzyskaj odniesienie do slajdu, używając jego indeksu.
  • Zdefiniuj tablice kolumn o szerokości i wierszy o wysokości.
  • Dodaj tabelę do slajdu za pomocą metody Slide.Shapes.AddTable() udostępnionej przez obiekt IShapes i pobierz odwołanie do tabeli w instancji ITable.
  • Przejrzyj każdą komórkę, aby zastosować formatowanie.
  • Dodaj tekst do komórek za pomocą właściwości Table.Rows[][].TextFrame.Text.
  • Zapisz prezentację jako plik PPTX.

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę na slajdzie prezentacji programu PowerPoint.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
Presentation pres = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide sld = pres.Slides[0];

// Zdefiniuj kolumny z szerokościami i wiersze z wysokościami
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Dodaj kształt tabeli do slajdu
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Ustaw format obramowania dla każdej komórki
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;
	}
}

// Scal komórki 1 i 2 wiersza 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// Dodaj tekst do scalonej komórki
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// Zapisz PPTX na dysku
pres.Save("table.pptx", SaveFormat.Pptx);

Utwórz wykres w prezentacji za pomocą C#

Poniżej przedstawiono kroki, aby dodać wykres w prezentacji programu PowerPoint przy użyciu języka C#.

  • Utwórz instancję klasy Presentation.
  • Uzyskaj odniesienie do slajdu według indeksu.
  • Dodaj wykres żądanego typu za pomocą metody ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
  • Dodaj tytuł wykresu.
  • Uzyskaj dostęp do arkusza danych wykresu.
  • Wyczyść wszystkie domyślne serie i kategorie.
  • Dodaj nowe serie i kategorie.
  • Dodaj nowe dane wykresu dla serii wykresów.
  • Ustaw kolor wypełnienia dla serii wykresów.
  • Dodaj etykiety serii wykresów.
  • Zapisz prezentację jako plik PPTX.

Poniższy przykładowy kod pokazuje, jak dodać wykres w prezentacji przy użyciu języka C#.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
Presentation pres = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide sld = pres.Slides[0];

// Dodaj wykres z domyślnymi danymi
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Tabela ustawień Tytuł
// Chart.ChartTitle.TextFrameForOverriding.Text = "Przykładowy tytuł";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Ustaw pierwszą serię na Pokaż wartości
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Ustawianie indeksu arkusza danych wykresu
int defaultWorksheetIndex = 0;

// Pobieranie arkusza danych wykresu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Usuń domyślnie wygenerowane serie i kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Dodanie nowej serii
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);

// Dodawanie nowych kategorii
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"));

// Weź pierwszą serię wykresów
IChartSeries series = chart.ChartData.Series[0];

// Teraz wypełnianie danych serii

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));

// Ustawianie koloru wypełnienia dla serii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// Weź drugą serię wykresów
series = chart.ChartData.Series[1];

// Teraz wypełnianie danych serii
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));

// Ustawianie koloru wypełnienia dla serii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// Pierwsza etykieta pokaże nazwę kategorii
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Pokaż wartość dla trzeciej etykiety
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// Zapisz prezentację z wykresem
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

Dowiedz się więcej o wykresach prezentacyjnych tutaj.

Dodaj obraz w prezentacji

Poniżej przedstawiono kroki dodawania obrazów na slajdzie prezentacji.

Poniższy przykładowy kod pokazuje, jak dodać obraz do prezentacji w języku C#.

// Utwórz prezentację
using (var p = new Presentation())
{
	// Przeczytaj obraz
	var svgContent = File.ReadAllText("image.svg");
	
	// Dodaj obraz do kolekcji obrazów
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// Dodaj obraz do slajdu
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// Zapisz prezentację
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

Wniosek

W tym artykule nauczyłeś się, jak tworzyć prezentacje PowerPoint od podstaw przy użyciu języka C#. Ponadto widziałeś, jak dodawać slajdy, tekst, tabele, obrazy i wykresy w nowych lub istniejących prezentacjach PPTX. Możesz dowiedzieć się więcej o API korzystając z dokumentacji.

Zobacz też

Wskazówka: Oprócz tworzenia slajdów lub prezentacji, Aspose.Slides zapewnia wiele funkcji, które umożliwiają pracę z prezentacjami. Na przykład, korzystając z własnych interfejsów API, firma Aspose opracowała darmową przeglądarkę internetową dla prezentacji Microsoft PowerPoint.