MS PowerPoint เป็นแอปพลิเคชั่นที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้างงานนำเสนอที่น่าสนใจโดยมีข้อความ กราฟิก ภาพเคลื่อนไหว แผนภูมิ และองค์ประกอบอื่น ๆ อีกมากมาย ในโพสต์นี้ คุณจะได้เรียนรู้วิธีใช้ฟีเจอร์การทำงานอัตโนมัติพื้นฐานของ PowerPoint ภายในแอปพลิเคชัน C++ โดยเฉพาะอย่างยิ่ง คุณจะได้รู้วิธีสร้างงานนำเสนอ PowerPoint และเพิ่มข้อความ รูปภาพ แผนภูมิ และตารางลงในสไลด์โดยใช้ C++
- C++ PowerPoint API
- สร้างงานนำเสนอ PowerPoint ใน C++
- เพิ่มสไลด์ในงานนำเสนอ
- เพิ่มข้อความลงในสไลด์ PowerPoint
- สร้างตารางในงานนำเสนอ
- สร้างแผนภูมิในงานนำเสนอ
- เปิดงานนำเสนอ PowerPoint ที่มีอยู่
- รับใบอนุญาตฟรี
C++ PowerPoint API
Aspose.Slides for C++ ได้รับการออกแบบมาเพื่อทำให้คุณลักษณะการจัดการงานนำเสนอ PowerPoint เป็นไปโดยอัตโนมัติภายในแอปพลิเคชัน C++ เมื่อใช้ API คุณสามารถสร้าง แก้ไข หรือแปลงงานนำเสนอ PowerPoint ได้อย่างราบรื่น คุณสามารถ ดาวน์โหลด แพ็คเกจที่สมบูรณ์ของไฟล์ API หรือดาวน์โหลดได้จาก NuGet
สร้างงานนำเสนอ PowerPoint ใน C++
เริ่มต้นด้วยการสร้างงานนำเสนอ PowerPoint เปล่าโดยใช้ Aspose.Slides for C++ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- สร้างวัตถุของคลาส Presentation
- บันทึกงานนำเสนอโดยใช้เมธอด Presentation->Save(String, SaveFormat::Pptx)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างงานนำเสนอ PowerPoint โดยใช้ C++
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String outPath = u"../out/SampleChartresult.pptx";
//สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// เพิ่ม autoshape ของเส้นประเภท
slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
//กำลังบันทึกงานนำเสนอ
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
เพิ่มสไลด์ในงานนำเสนอใน C ++
เมื่อคุณสร้างงานนำเสนอ PowerPoint แล้ว คุณสามารถแทรกสไลด์ลงไปได้ ต่อไปนี้เป็นขั้นตอนในการเพิ่มสไลด์ลงในงานนำเสนอ PowerPoint:
- สร้างวัตถุของคลาส Presentation
- รับสไลด์ในวัตถุ ISlideCollection โดยใช้เมธอด Presentation->getSlides()
- เพิ่มสไลด์โดยใช้เมธอด ISlideCollection->AddEmptySlide()
- บันทึกงานนำเสนอโดยใช้เมธอด Presentation->Save(String, SaveFormat::Pptx)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มสไลด์ในงานนำเสนอ PowerPoint โดยใช้ C++
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String outPath = u"../templates/AddSlides.pptx";
// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์งานนำเสนอ
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// สร้างอินสแตนซ์ SlideCollection Calss
SharedPtr<ISlideCollection> slds = pres->get_Slides();
for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
{
// เพิ่มสไลด์เปล่าไปยังคอลเลกชันสไลด์
slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));
}
// บันทึกไฟล์ PPTX ลงในดิสก์
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการสไลด์ โปรดไปที่ การเพิ่ม การจัดรูปแบบ และการจัดการสไลด์
เพิ่มข้อความลงในสไลด์ PowerPoint โดยใช้ C ++
ตอนนี้ เรามาเพิ่มข้อความในสไลด์ในงานนำเสนอ PowerPoint กัน สำหรับสิ่งนี้ คุณต้องแทรกกล่องข้อความลงในสไลด์ ด้านล่างนี้เป็นขั้นตอนในการดำเนินการนี้
- สร้างงานนำเสนอใหม่หรือโหลดงานนำเสนอที่มีอยู่โดยใช้คลาส Presentation
- รับการอ้างอิงของสไลด์ไปยังวัตถุ ISlide โดยใช้เมธอด Presentation->getSlides()->idxget(int)
- เพิ่มสี่เหลี่ยมผืนผ้าลงในสไลด์โดยใช้เมธอด ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) และรับข้อมูลอ้างอิงในวัตถุ IAutoShape
- เพิ่มกรอบข้อความโดยใช้เมธอด IAutoShape->AddTextFrame(u" “)
- รับกรอบข้อความโดยใช้ IAutoShape->getTextFrame() ในวัตถุ ITextFrame
- รับย่อหน้าโดยใช้ ITextFrame->getParagraphs()->idxget(0) ในวัตถุ IParagraph
- เข้าถึงส่วนของย่อหน้าโดยใช้ IParagraph->getPortions()->idxget(0) ในวัตถุ IPortion
- ตั้งค่าข้อความโดยใช้เมธอด IPortion->setText(u"Aposose TextBox”)
- บันทึกงานนำเสนอโดยใช้เมธอด Presentation->Save(String, SaveFormat::Pptx)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มข้อความในสไลด์ในงานนำเสนอ PowerPoint โดยใช้ C++
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";
// โหลดงานนำเสนอที่ต้องการ
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// เข้าถึงสไลด์แรก
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// เพิ่มรูปร่างอัตโนมัติของประเภทสี่เหลี่ยมผืนผ้า
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);
// เพิ่ม TextFrame ลงในสี่เหลี่ยมผืนผ้า
ashp->AddTextFrame(u" ");
// การเข้าถึงกรอบข้อความ
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// สร้างวัตถุย่อหน้าสำหรับกรอบข้อความ
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);
// สร้างวัตถุส่วนสำหรับย่อหน้า
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
// บันทึก PPTX ลงดิสก์
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการข้อความในงานนำเสนอ โปรดไปที่ การเพิ่ม การจัดรูปแบบ และการจัดการข้อความ
สร้างตารางในงานนำเสนอโดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการเพิ่มตารางในสไลด์ของงานนำเสนอ PowerPoint โดยใช้ Aspose.Slides for C++
- สร้างอินสแตนซ์ของคลาส Presentation
- รับการอ้างอิงของสไลด์ในวัตถุ ISlide
- กำหนดอาร์เรย์ของคอลัมน์และแถวโดยกำหนดความกว้าง
- เพิ่มตารางลงในสไลด์โดยใช้เมธอด [ISlide->getShapes()->AddTable()][29
- วนซ้ำในแต่ละเซลล์เพื่อนำการจัดรูปแบบไปใช้กับเส้นขอบด้านบน ด้านล่าง ด้านขวา และด้านซ้าย
- ผสานเซลล์หากจำเป็น
- เข้าถึงกรอบข้อความของเซลล์เพื่อเพิ่มข้อความ
- บันทึกงานนำเสนอเป็นไฟล์ PPTX
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างตารางในงานนำเสนอ PowerPoint โดยใช้ C++
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String outPath = u"../out/TableFromScratch_out.pptx";
// โหลดงานนำเสนอที่ต้องการ
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// เข้าถึงสไลด์แรก
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);
// กำหนดคอลัมน์ที่มีความกว้างและแถวที่มีความสูง
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);
// เพิ่มรูปร่างตารางเพื่อเลื่อน
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);
// กำหนดรูปแบบเส้นขอบสำหรับแต่ละเซลล์
for (int x = 0; x < table->get_Rows()->get_Count(); x++)
{
SharedPtr<IRow> row = table->get_Rows()->idx_get(x);
for (int y = 0; y < row->get_Count(); y++)
{
SharedPtr<ICell> cell = row->idx_get(y);
cell->get_BorderTop()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_BorderTop()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_BorderTop()->set_Width(5);
cell->get_BorderBottom()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_BorderBottom()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_BorderBottom()->set_Width(5);
cell->get_BorderLeft()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_BorderLeft()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_BorderLeft()->set_Width(5);
cell->get_BorderRight()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_BorderRight()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_BorderRight()->set_Width(5);
}
}
// ผสานเซลล์ (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);
// ผสานเซลล์ (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);
// บันทึก PPTX ลงดิสก์
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการตาราง โปรดไปที่ การเพิ่ม การอัปเดต และการจัดการตาราง
สร้างแผนภูมิในงานนำเสนอโดยใช้ C++
Aspose.Slides for C++ รองรับแผนภูมิประเภทต่างๆ เช่น กระจัดกระจาย แผนผังต้นไม้ ฮิสโตแกรม และ ฯลฯ สำหรับการสาธิต เรามาสร้างแผนภูมิปกติกัน ด้านล่างนี้เป็นขั้นตอนในการดำเนินการนี้
- สร้างอินสแตนซ์ของคลาส Presentation
- รับข้อมูลอ้างอิงของสไลด์ที่คุณต้องการเพิ่มแผนภูมิ
- เพิ่มแผนภูมิที่มีข้อมูลเริ่มต้นพร้อมกับประเภทที่ต้องการโดยใช้เมธอด [ISlide->getShapes()->AddChart()][33
- รับข้อมูลอ้างอิงของแผนภูมิในวัตถุ IChart
- ล้างข้อมูลแผนภูมิและเพิ่มซีรี่ส์และหมวดหมู่ใหม่
- เพิ่มข้อมูลแผนภูมิใหม่สำหรับชุดแผนภูมิ
- ตั้งค่าสีเติมสำหรับชุดแผนภูมิ
- เพิ่มป้ายชื่อชุดแผนภูมิ
- บันทึกงานนำเสนอเป็นไฟล์ PPTX
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกแผนภูมิในงานนำเสนอ PowerPoint โดยใช้ C++
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String outPath = u"../out/NormalCharts_out.pptx";
//สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
//เข้าถึงสไลด์แรก
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// เพิ่มแผนภูมิด้วยข้อมูลเริ่มต้น
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);
// การตั้งค่าดัชนีของแผ่นข้อมูลแผนภูมิ
int defaultWorksheetIndex = 0;
// รับแผ่นงานข้อมูลแผนภูมิ
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();
// การตั้งค่าหัวเรื่องแผนภูมิ
chart->get_ChartTitle()->AddTextFrameForOverriding(u"Sample Title");
chart->get_ChartTitle()->get_TextFrameForOverriding()->get_TextFrameFormat()->set_CenterText ( NullableBool::True);
chart->get_ChartTitle()->set_Height(20);
chart->set_HasTitle( true);
// ลบซีรี่ส์และหมวดหมู่ที่สร้างโดยค่าเริ่มต้น
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();
int s = chart->get_ChartData()->get_Series()->get_Count();
s = chart->get_ChartData()->get_Categories()->get_Count();
// ตอนนี้เพิ่มซีรี่ส์ใหม่
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());
chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 2, ObjectExt::Box<System::String>(u"Series 2")), chart->get_Type());
// เพิ่ม Catrgories
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 1, 0, ObjectExt::Box<System::String>(u"Caetegoty 1")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 2, 0, ObjectExt::Box<System::String>(u"Caetegoty 2")));
chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 3, 0, ObjectExt::Box<System::String>(u"Caetegoty 3")));
// ใช้แผนภูมิชุดแรก
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);
// กำลังเติมข้อมูลชุดข้อมูล
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<double>(20)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(50)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(30)));
// การตั้งค่าสีเติมสำหรับซีรี่ส์
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
// ใช้แผนภูมิชุดที่สอง
series = chart->get_ChartData()->get_Series()->idx_get(1);
// กำลังเติมข้อมูลชุดข้อมูล
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 2, ObjectExt::Box<double>(30)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(10)));
series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(60)));
// การตั้งค่าสีเติมสำหรับซีรี่ส์
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
// ป้ายกำกับแรกจะแสดงชื่อหมวดหมู่
SharedPtr<IDataLabel> lbl = series->get_DataPoints()->idx_get(0)->get_Label();
lbl->get_DataLabelFormat()->set_ShowCategoryName(true);
lbl = series->get_DataPoints()->idx_get(1)->get_Label();
lbl->get_DataLabelFormat()->set_ShowSeriesName (true);
// แสดงค่าสำหรับป้ายกำกับที่สาม
lbl = series->get_DataPoints()->idx_get(2)->get_Label();
lbl->get_DataLabelFormat()->set_ShowValue (true);
lbl->get_DataLabelFormat()->set_ShowSeriesName(true);
lbl->get_DataLabelFormat()->set_Separator (u"/");
// เขียนไฟล์งานนำเสนอลงดิสก์
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
เรียนรู้เพิ่มเติมเกี่ยวกับการจัดการแผนภูมิจาก การเพิ่ม การจัดรูปแบบ และการจัดการแผนภูมิ
เปิดงานนำเสนอ PowerPoint ใน C++
คุณยังสามารถเปิดงานนำเสนอ PowerPoint ที่มีอยู่เพื่อแก้ไขเนื้อหาได้ สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่าง:
- โหลดไฟล์ PPTX โดยใช้คลาส Presentation โดยระบุชื่อไฟล์
- ปรับปรุงเนื้อหาของงานนำเสนอ
- บันทึกไฟล์ที่อัปเดตโดยใช้เมธอด Presentation->Save(String, SaveFormat)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปิดงานนำเสนอ PowerPoint ที่มีอยู่โดยใช้ C++
// เส้นทางไปยังไดเร็กทอรีเอกสาร
const String templatePath = u"../templates/AccessSlides.pptx";
// สร้างอินสแตนซ์คลาสการนำเสนอที่แสดงถึงไฟล์ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// พิมพ์จำนวนสไลด์
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างงานนำเสนอ PowerPoint จากภายในแอปพลิเคชัน C++ คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดพร้อมกับการอ้างอิง API ได้แสดงวิธีสร้างงานนำเสนอตั้งแต่เริ่มต้น และแทรกสไลด์ ข้อความ ตาราง และแผนภูมิลงในนั้น คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API ได้โดยใช้ เอกสารประกอบ