Tạo bài thuyết trình PowerPoint C#

Bản trình bày MS PowerPoint cho phép bạn tạo trình chiếu có chứa văn bản, hình ảnh, biểu đồ, hoạt ảnh và các thành phần khác. Nhiều tùy chọn định dạng bổ sung cho phép bạn làm cho bài thuyết trình của mình hấp dẫn hơn. Trong bài đăng này, bạn sẽ biết cách tạo các bản trình bày như vậy theo chương trình. Bạn sẽ tìm hiểu cách tạo bản trình bày PPTX có văn bản, bảng, hình ảnh và biểu đồ bằng C#.

API C# PowerPoint - Tải xuống miễn phí

Aspose.Slides for .NET là một API thao tác bản trình bày cho phép bạn tạo và thao tác các tài liệu PowerPoint từ bên trong các ứng dụng .NET của mình. API cung cấp gần như tất cả các tính năng có thể cần thiết để triển khai các tính năng tự động hóa PowerPoint cơ bản cũng như nâng cao. Bạn có thể tải xuống API hoặc cài đặt qua NuGet.

Install-Package Aspose.Slides.NET

Tạo bản trình bày PowerPoint trong C#

Hãy bắt đầu bằng cách tạo một bản trình bày PowerPoint trống bằng Aspose.Slides for .NET. Sau đây là các bước để làm như vậy.

Mẫu mã sau đây cho biết cách tạo bản trình bày PowerPoint bằng C#.

// Khởi tạo một đối tượng Trình bày đại diện cho tệp trình bày
using (Presentation presentation = new Presentation())
{
    // Lấy slide đầu tiên
    ISlide slide = presentation.Slides[0];

    // Thêm nội dung vào slide...
    
    // Lưu bản trình bày
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

Mở bản trình bày PowerPoint hiện có trong C#

Bạn không cần phải nỗ lực nhiều hơn để mở một bản trình bày PowerPoint hiện có. Chỉ cần cung cấp đường dẫn của tệp PPTX cho hàm tạo của lớp Presentation và bạn đã hoàn tất. Mẫu mã sau đây cho biết cách mở bản trình bày PPTX hiện có.

// Mở tệp trình diễn bằng cách chuyển đường dẫn tệp tới hàm tạo của lớp Trình diễn
Presentation pres = new Presentation("OpenPresentation.pptx");

// In tổng số slide trong bài thuyết trình
System.Console.WriteLine(pres.Slides.Count.ToString());

Thêm một Slide vào bản trình bày trong C#

Khi bạn đã tạo bản trình bày, bạn có thể bắt đầu thêm các trang trình bày vào đó. Sau đây là các bước để thêm một trang trình bày trong bản trình bày bằng Aspose.Slides for .NET.

Mẫu mã sau đây cho biết cách thêm trang chiếu vào bản trình bày PowerPoint bằng C#.

// Khởi tạo lớp Trình bày đại diện cho tệp trình bày
using (Presentation pres = new Presentation())
{
    // Khởi tạo lớp SlideCollection
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // Thêm một slide trống vào bộ sưu tập Slides
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // Lưu tệp PPTX vào Đĩa
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

Chèn văn bản vào Slide bằng C#

Bây giờ chúng ta có thể thêm nội dung vào các slide trong bài thuyết trình PowerPoint. Trước tiên, hãy thêm một đoạn văn bản vào trang chiếu bằng các bước sau.

  • Tạo một bài thuyết trình mới bằng lớp Bài thuyết trình.
  • Lấy tham chiếu của slide trong bài thuyết trình.
  • Thêm IAutoShape với ShapeType làm Hình chữ nhật tại một vị trí đã chỉ định của trang chiếu.
  • Lấy tham chiếu của đối tượng IAutoShape mới được thêm vào đó.
  • Thêm Khung văn bản vào Hình tự động chứa văn bản mặc định.
  • Lưu bản trình bày dưới dạng tệp PPTX.

Mẫu mã sau đây cho biết cách thêm văn bản vào trang chiếu trong bản trình bày bằng C#.

// Khởi tạo PresentationEx // Khởi tạo PresentationEx
using (Presentation pres = new Presentation())
{
    // Lấy slide đầu tiên
    ISlide sld = pres.Slides[0];

    // Thêm một AutoShape của loại hình chữ nhật
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // Thêm TextFrame vào Hình chữ nhật
    ashp.AddTextFrame(" ");

    // Truy cập khung văn bản
    ITextFrame txtFrame = ashp.TextFrame;

    // Tạo đối tượng Đoạn cho khung văn bản
    IParagraph para = txtFrame.Paragraphs[0];

    // Tạo đối tượng Portion cho đoạn văn
    IPortion portion = para.Portions[0];

    // Đặt văn bản
    portion.Text = "Aspose TextBox";

    // Lưu bài thuyết trình vào đĩa
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Tạo bảng trong bản trình bày bằng C#

Aspose.Slides for .NET cung cấp một cách dễ dàng để tạo bảng trong tài liệu trình bày. Sau đây là các bước cho nó.

  • Tạo một thể hiện của lớp Presentation.
  • Lấy tham chiếu của một slide bằng cách sử dụng chỉ mục của nó.
  • Xác định mảng các cột có chiều rộng và các hàng có chiều cao.
  • Thêm bảng vào trang chiếu bằng phương thức Slide.Shapes.AddTable() được hiển thị bởi đối tượng IShapes và lấy tham chiếu đến bảng trong ví dụ ITable.
  • Lặp lại qua từng ô để áp dụng định dạng.
  • Thêm văn bản vào các ô bằng thuộc tính Table.Rows[][].TextFrame.Text.
  • Lưu bản trình bày dưới dạng tệp PPTX.

Mẫu mã sau đây cho biết cách tạo bảng trong trang trình bày PowerPoint.

// Khởi tạo lớp Trình bày đại diện cho tệp PPTX
Presentation pres = new Presentation();

// Truy cập slide đầu tiên
ISlide sld = pres.Slides[0];

// Xác định cột có chiều rộng và hàng có chiều cao
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Thêm hình dạng bảng vào trang chiếu
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Đặt định dạng đường viền cho từng ô
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;
	}
}

// Hợp nhất các ô 1 & 2 của hàng 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// Thêm văn bản vào ô đã hợp nhất
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// Lưu PPTX vào đĩa
pres.Save("table.pptx", SaveFormat.Pptx);

Tạo biểu đồ trong bài thuyết trình bằng C#

Sau đây là các bước để thêm biểu đồ trong bản trình bày PowerPoint bằng C#.

  • Tạo một thể hiện của lớp Presentation.
  • Lấy tham chiếu của một slide theo chỉ mục.
  • Thêm biểu đồ với loại mong muốn bằng phương pháp ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
  • Thêm tiêu đề biểu đồ.
  • Truy cập trang tính dữ liệu biểu đồ.
  • Xóa tất cả các chuỗi và danh mục mặc định.
  • Thêm sê-ri và danh mục mới.
  • Thêm dữ liệu biểu đồ mới cho chuỗi biểu đồ.
  • Đặt màu tô cho chuỗi biểu đồ.
  • Thêm nhãn chuỗi biểu đồ.
  • Lưu bản trình bày dưới dạng tệp PPTX.

Mẫu mã sau đây cho biết cách thêm biểu đồ vào bản trình bày bằng C#.

// Khởi tạo lớp Trình bày đại diện cho tệp PPTX
Presentation pres = new Presentation();

// Truy cập slide đầu tiên
ISlide sld = pres.Slides[0];

// Thêm biểu đồ với dữ liệu mặc định
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Thiết lập tiêu đề biểu đồ
// Chart.ChartTitle.TextFrameForOverriding.Text = "Tiêu đề mẫu";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Đặt chuỗi đầu tiên thành Hiển thị giá trị
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Đặt chỉ mục của bảng dữ liệu biểu đồ
int defaultWorksheetIndex = 0;

// Lấy bảng tính dữ liệu biểu đồ
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Xóa chuỗi và danh mục được tạo mặc định
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Thêm sê-ri mới
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);

// Thêm danh mục mới
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"));

// Lấy loạt biểu đồ đầu tiên
IChartSeries series = chart.ChartData.Series[0];

// Hiện đang điền dữ liệu chuỗi

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

// Đặt màu tô cho chuỗi
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// Lấy loạt biểu đồ thứ hai
series = chart.ChartData.Series[1];

// Hiện đang điền dữ liệu chuỗi
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));

// Đặt màu tô cho chuỗi
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// Nhãn đầu tiên sẽ được hiển thị Tên danh mục
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

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

// Hiển thị giá trị cho nhãn thứ ba
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// Lưu bản trình bày với biểu đồ
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

Tìm hiểu thêm về biểu đồ trình bày tại đây.

Thêm một hình ảnh trong bản trình bày

Sau đây là các bước để thêm hình ảnh vào slide thuyết trình.

Mẫu mã sau đây cho biết cách thêm hình ảnh vào bản trình bày trong C#.

// Tạo bản trình bày
using (var p = new Presentation())
{
	// Đọc hình ảnh
	var svgContent = File.ReadAllText("image.svg");
	
	// Thêm hình ảnh vào bộ sưu tập hình ảnh
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// Thêm hình ảnh vào slide
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// Lưu bản trình bày
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

Sự kết luận

Trong bài viết này, bạn đã học cách tạo bản trình bày PowerPoint từ đầu bằng C#. Ngoài ra, bạn đã biết cách thêm trang chiếu, văn bản, bảng, hình ảnh và biểu đồ trong bản trình bày PPTX mới hoặc hiện có. Bạn có thể tìm hiểu thêm về API bằng cách sử dụng tài liệu.

Xem thêm

Mẹo: Bên cạnh việc tạo trang chiếu hoặc bản trình bày, Aspose.Slides cung cấp nhiều tính năng cho phép bạn làm việc với bản trình bày. Ví dụ: sử dụng các API của riêng mình, Aspose đã phát triển trình xem trực tuyến miễn phí dành cho Bản trình bày Microsoft PowerPoint.