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#.
- Interfejs API programu PowerPoint w języku C#
- Utwórz prezentację PowerPoint
- Otwórz istniejącą prezentację programu PowerPoint
- Dodaj slajd do prezentacji
- Dodaj tekst do slajdu prezentacji
- Utwórz tabelę w prezentacji
- Utwórz wykres w prezentacji
- Dodaj obraz w prezentacji
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.
- Utwórz instancję klasy Presentation.
- Zapisz go jako PPTX, używając metody Presentation.Save(String, SaveFormat).
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.
- Utwórz instancję klasy Presentation.
- Utwórz instancję klasy ISlideCollection, ustawiając odwołanie do właściwości Presentations.Slides.
- Dodaj pusty slajd do prezentacji za pomocą metody Slide.AddEmptySlide(ILayoutSlide) udostępnionej przez obiekt ISlideCollection
- Zapisz plik prezentacji przy użyciu metody Presentation.Save(String, SaveFormat).
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.
- Utwórz nową prezentację za pomocą klasy Presentation.
- Odczytaj obraz SVG za pomocą metody File.ReadAllText(String path).
- Dodaj obraz do slajdu metodą Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y,float width, float height, IPPImage image).
- Zapisz prezentację.
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ż
- Chroń prezentacje PowerPoint PPTX za pomocą C#
- Twórz prezentacje MS PowerPoint w ASP.NET
- Konwertuj PowerPoint PPTX/PPT na obrazy PNG w C#
- Ustaw tło slajdu w prezentacjach PowerPoint za pomocą C#
- Generuj miniatury dla programu PowerPoint PPTX lub PPT przy użyciu języka C#
- Zastosuj animację do tekstu w programie PowerPoint przy użyciu języka C#
- Podziel prezentacje PowerPoint przy użyciu C#
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.