สร้างงานนำเสนอ PowerPoint C#

งานนำเสนอ MS PowerPoint ช่วยให้คุณสร้างการนำเสนอภาพนิ่งที่มีข้อความ รูปภาพ แผนภูมิ ภาพเคลื่อนไหว และองค์ประกอบอื่นๆ ตัวเลือกการจัดรูปแบบเพิ่มเติมต่างๆ ช่วยให้คุณสร้างงานนำเสนอที่น่าดึงดูดยิ่งขึ้น ในโพสต์นี้ คุณจะได้รู้วิธีสร้างงานนำเสนอดังกล่าวโดยทางโปรแกรม คุณจะได้เรียนรู้วิธีสร้างงานนำเสนอ PPTX ที่มีข้อความ ตาราง รูปภาพ และแผนภูมิโดยใช้ C#

C# PowerPoint API - ดาวน์โหลดฟรี

Aspose.Slides for .NET คือ API การจัดการงานนำเสนอที่ให้คุณสร้างและจัดการเอกสาร PowerPoint จากภายในแอปพลิเคชัน .NET ของคุณ API มีคุณลักษณะที่เป็นไปได้เกือบทั้งหมดซึ่งจำเป็นสำหรับการนำคุณลักษณะการทำงานอัตโนมัติของ PowerPoint ขั้นพื้นฐานและขั้นสูงไปใช้ คุณสามารถ ดาวน์โหลด API หรือติดตั้งผ่าน NuGet

Install-Package Aspose.Slides.NET

สร้างงานนำเสนอ PowerPoint ใน C#

เริ่มต้นด้วยการสร้างงานนำเสนอ PowerPoint เปล่าโดยใช้ Aspose.Slides for .NET ต่อไปนี้เป็นขั้นตอนในการทำเช่นนั้น

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างงานนำเสนอ PowerPoint ใน C#

// สร้างอินสแตนซ์ของวัตถุการนำเสนอที่แสดงถึงไฟล์งานนำเสนอ
using (Presentation presentation = new Presentation())
{
    // รับสไลด์แรก
    ISlide slide = presentation.Slides[0];

    // เพิ่มเนื้อหาในสไลด์...
    
    // บันทึกงานนำเสนอ
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

เปิดงานนำเสนอ PowerPoint ที่มีอยู่ใน C

คุณไม่จำเป็นต้องใช้ความพยายามเป็นพิเศษในการเปิดงานนำเสนอ PowerPoint ที่มีอยู่ เพียงระบุเส้นทางของไฟล์ PPTX ให้กับตัวสร้างของคลาส Presentation เท่านี้ก็เสร็จเรียบร้อย ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปิดงานนำเสนอ PPTX ที่มีอยู่

// การเปิดไฟล์การนำเสนอโดยส่งเส้นทางไฟล์ไปยังตัวสร้างของคลาสการนำเสนอ
Presentation pres = new Presentation("OpenPresentation.pptx");

// การพิมพ์จำนวนสไลด์ทั้งหมดในงานนำเสนอ
System.Console.WriteLine(pres.Slides.Count.ToString());

เพิ่มสไลด์ในงานนำเสนอใน C#

เมื่อคุณสร้างงานนำเสนอแล้ว คุณสามารถเริ่มเพิ่มสไลด์ได้ ต่อไปนี้เป็นขั้นตอนในการเพิ่มสไลด์ในงานนำเสนอโดยใช้ Aspose.Slides for .NET

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มสไลด์ในงานนำเสนอ PowerPoint โดยใช้ C#

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์งานนำเสนอ
using (Presentation pres = new Presentation())
{
    // สร้างอินสแตนซ์ของคลาส SlideCollection
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // เพิ่มสไลด์เปล่าไปยังคอลเลกชันสไลด์
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // บันทึกไฟล์ PPTX ลงในดิสก์
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

แทรกข้อความในสไลด์โดยใช้ C#

ตอนนี้เราสามารถเพิ่มเนื้อหาลงในสไลด์ในงานนำเสนอ PowerPoint ขั้นแรกให้เพิ่มข้อความลงในสไลด์โดยใช้ขั้นตอนต่อไปนี้

  • สร้างงานนำเสนอใหม่โดยใช้คลาส Presentation
  • รับข้อมูลอ้างอิงของสไลด์ในงานนำเสนอ
  • เพิ่ม IAutoShape ด้วย ShapeType เป็นสี่เหลี่ยมผืนผ้าในตำแหน่งที่ระบุของสไลด์
  • รับการอ้างอิงของวัตถุ IAutoShape ที่เพิ่มใหม่นั้น
  • เพิ่ม TextFrame ให้กับรูปร่างอัตโนมัติที่มีข้อความเริ่มต้น
  • บันทึกงานนำเสนอเป็นไฟล์ PPTX

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มข้อความในสไลด์ในงานนำเสนอโดยใช้ C#

// ยกตัวอย่างการนำเสนอEx// ยกตัวอย่างการนำเสนอEx
using (Presentation pres = new Presentation())
{
    // รับสไลด์แรก
    ISlide sld = pres.Slides[0];

    // เพิ่มรูปร่างอัตโนมัติของประเภทสี่เหลี่ยมผืนผ้า
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // เพิ่ม TextFrame ลงในสี่เหลี่ยมผืนผ้า
    ashp.AddTextFrame(" ");

    // การเข้าถึงกรอบข้อความ
    ITextFrame txtFrame = ashp.TextFrame;

    // สร้างวัตถุย่อหน้าสำหรับกรอบข้อความ
    IParagraph para = txtFrame.Paragraphs[0];

    // สร้างวัตถุส่วนสำหรับย่อหน้า
    IPortion portion = para.Portions[0];

    // ตั้งค่าข้อความ
    portion.Text = "Aspose TextBox";

    // บันทึกงานนำเสนอลงในดิสก์
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

สร้างตารางในงานนำเสนอโดยใช้ C#

Aspose.Slides for .NET มีวิธีง่ายๆ ในการสร้างตารางในเอกสารนำเสนอ ต่อไปนี้เป็นขั้นตอนสำหรับมัน

  • สร้างอินสแตนซ์ของคลาส Presentation
  • รับข้อมูลอ้างอิงของสไลด์โดยใช้ดัชนี
  • กำหนดอาร์เรย์ของคอลัมน์ที่มีความกว้างและแถวที่มีความสูง
  • เพิ่มตารางลงในสไลด์โดยใช้เมธอด Slide.Shapes.AddTable() โดยวัตถุ IShapes และรับการอ้างอิงไปยังตารางในอินสแตนซ์ ITable
  • วนซ้ำในแต่ละเซลล์เพื่อใช้การจัดรูปแบบ
  • เพิ่มข้อความลงในเซลล์โดยใช้คุณสมบัติ Table.Rows[][].TextFrame.Text
  • บันทึกงานนำเสนอเป็นไฟล์ PPTX

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างตารางในสไลด์ของงานนำเสนอ PowerPoint

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
Presentation pres = new Presentation();

// เข้าถึงสไลด์แรก
ISlide sld = pres.Slides[0];

// กำหนดคอลัมน์ที่มีความกว้างและแถวที่มีความสูง
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// เพิ่มรูปร่างตารางเพื่อเลื่อน
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// กำหนดรูปแบบเส้นขอบสำหรับแต่ละเซลล์
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 & 2 ของแถว 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// เพิ่มข้อความลงในเซลล์ที่ผสาน
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// บันทึก PPTX ลงดิสก์
pres.Save("table.pptx", SaveFormat.Pptx);

สร้างแผนภูมิในงานนำเสนอโดยใช้ C#

ต่อไปนี้เป็นขั้นตอนในการเพิ่มแผนภูมิในงานนำเสนอ PowerPoint โดยใช้ C#

  • สร้างอินสแตนซ์ของคลาส Presentation
  • รับการอ้างอิงของสไลด์ตามดัชนี
  • เพิ่มแผนภูมิที่มีประเภทที่ต้องการโดยใช้เมธอด ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single)
  • เพิ่มชื่อแผนภูมิ
  • เข้าถึงเวิร์กชีตข้อมูลแผนภูมิ
  • ล้างชุดและหมวดหมู่เริ่มต้นทั้งหมด
  • เพิ่มซีรี่ส์และหมวดหมู่ใหม่
  • เพิ่มข้อมูลแผนภูมิใหม่สำหรับชุดแผนภูมิ
  • ตั้งค่าสีเติมสำหรับชุดแผนภูมิ
  • เพิ่มป้ายชื่อชุดแผนภูมิ
  • บันทึกงานนำเสนอเป็นไฟล์ PPTX

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มแผนภูมิในงานนำเสนอโดยใช้ C#

// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
Presentation pres = new Presentation();

// เข้าถึงสไลด์แรก
ISlide sld = pres.Slides[0];

// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// การตั้งค่าหัวเรื่องแผนภูมิ
// Chart.ChartTitle.TextFrameForOverriding.Text = "ชื่อตัวอย่าง";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// ตั้งค่าชุดแรกเป็น Show Values
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// การตั้งค่าดัชนีของแผ่นข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;

// รับแผ่นงานข้อมูลแผนภูมิ
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// ลบซีรี่ส์และหมวดหมู่ที่สร้างโดยค่าเริ่มต้น
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// การเพิ่มซีรี่ส์ใหม่
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);

// การเพิ่มหมวดหมู่ใหม่
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"));

// ใช้แผนภูมิชุดแรก
IChartSeries series = chart.ChartData.Series[0];

// กำลังเติมข้อมูลชุดข้อมูล

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

// การตั้งค่าสีเติมสำหรับซีรี่ส์
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// ใช้แผนภูมิชุดที่สอง
series = chart.ChartData.Series[1];

// กำลังเติมข้อมูลชุดข้อมูล
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));

// การตั้งค่าสีเติมสำหรับซีรี่ส์
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// ป้ายกำกับแรกจะแสดงชื่อหมวดหมู่
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

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

// แสดงค่าสำหรับป้ายกำกับที่สาม
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// บันทึกงานนำเสนอด้วยแผนภูมิ
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

เรียนรู้เพิ่มเติมเกี่ยวกับแผนภูมิการนำเสนอ ที่นี่

เพิ่มรูปภาพในงานนำเสนอ

ต่อไปนี้เป็นขั้นตอนในการเพิ่มรูปภาพในสไลด์งานนำเสนอ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มรูปภาพในงานนำเสนอใน C#

// สร้างงานนำเสนอ
using (var p = new Presentation())
{
	// อ่านภาพ
	var svgContent = File.ReadAllText("image.svg");
	
	// เพิ่มรูปภาพในคอลเลกชันรูปภาพ
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// เพิ่มรูปภาพลงในสไลด์
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// บันทึกงานนำเสนอ
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างงานนำเสนอ PowerPoint ตั้งแต่เริ่มต้นโดยใช้ C# นอกจากนี้ คุณได้เห็นวิธีเพิ่มสไลด์ ข้อความ ตาราง รูปภาพ และแผนภูมิในงานนำเสนอ PPTX ใหม่หรือที่มีอยู่แล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API ได้โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย

เคล็ดลับ: นอกจากการสร้างสไลด์หรืองานนำเสนอแล้ว Aspose.Slides ยังมี คุณสมบัติมากมาย ที่ช่วยให้คุณสามารถทำงานกับงานนำเสนอได้ ตัวอย่างเช่น การใช้ API ของตัวเอง Aspose ได้พัฒนา โปรแกรมดูออนไลน์ฟรีสำหรับ Microsoft PowerPoint Presentations