membuat presentasi powerpoint C++

MS PowerPoint adalah aplikasi kaya fitur yang memungkinkan Anda membuat presentasi menarik yang memiliki teks, grafik, animasi, bagan, dan beberapa elemen lainnya. Dalam posting ini, Anda akan belajar bagaimana mengimplementasikan fitur otomatisasi PowerPoint dasar dalam aplikasi C++. Khususnya, Anda akan mengetahui cara membuat presentasi PowerPoint dan menambahkan teks, gambar, bagan, dan tabel ke slide menggunakan C++.

API C++ PowerPoint

Aspose.Slides for C++ dirancang untuk mengotomatiskan fitur manipulasi presentasi PowerPoint dalam aplikasi C++. Dengan menggunakan API, Anda dapat membuat, mengedit, atau mengonversi presentasi PowerPoint dengan mulus. Anda dapat mengunduh paket lengkap file API atau mendapatkannya dari NuGet.

Buat Presentasi PowerPoint di C++

Mari kita mulai dengan membuat presentasi PowerPoint kosong menggunakan Aspose.Slides for C++. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

Contoh kode berikut menunjukkan cara membuat presentasi PowerPoint menggunakan C++.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// Path ke direktori dokumen.
	const String outPath = u"../out/SampleChartresult.pptx";

	//Kelas Presentasi Instansiasi yang mewakili file PPTX
	SharedPtr<Presentation> pres = MakeObject<Presentation>();
	
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Tambahkan autoshape dari garis tipe
	slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
	
	//Menyimpan presentasi
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Tambahkan Slide ke Presentasi di C++

Setelah Anda membuat presentasi PowerPoint, Anda dapat memasukkan slide ke dalamnya. Berikut ini adalah langkah-langkah untuk menambahkan slide ke presentasi PowerPoint:

Contoh kode berikut menunjukkan cara menambahkan slide ke presentasi PowerPoint menggunakan C++.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// Path ke direktori dokumen.
	const String outPath = u"../templates/AddSlides.pptx";

	// Kelas Presentasi Instantiate yang mewakili file presentasi
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// Instansiasi perhitungan SlideCollection
	SharedPtr<ISlideCollection> slds = pres->get_Slides();

	for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
	{
		// Tambahkan slide kosong ke koleksi Slide
		slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));

	}

	// Simpan file PPTX ke Disk
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Untuk mempelajari lebih lanjut tentang memanipulasi slide, kunjungi Menambahkan, Memformat, dan Memanipulasi Slide.

Tambahkan Teks ke Slide PowerPoint menggunakan C++

Sekarang, mari tambahkan teks ke slide dalam presentasi PowerPoint. Untuk ini, Anda perlu memasukkan kotak teks ke slide. Di bawah ini adalah langkah-langkah untuk melakukan operasi ini.

Contoh kode berikut menunjukkan cara menambahkan teks ke slide dalam presentasi PowerPoint menggunakan C++.

// Path ke direktori dokumen.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";

// Muat presentasi yang diinginkan
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);

// Tambahkan AutoShape dari tipe Rectangle
SharedPtr<IAutoShape>  ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);

// Tambahkan TextFrame ke Rectangle
ashp->AddTextFrame(u" ");

// Mengakses bingkai teks
SharedPtr<ITextFrame>  txtFrame = ashp->get_TextFrame();

// Buat objek Paragraf untuk bingkai teks
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);

// Buat objek Porsi untuk paragraf
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
	
// Simpan PPTX ke Disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Untuk mempelajari lebih lanjut tentang memanipulasi teks dalam presentasi, kunjungi Menambahkan, Memformat, dan Memanipulasi Teks.

Buat Tabel di Presentasi menggunakan C++

Berikut adalah langkah-langkah untuk menambahkan tabel pada slide presentasi PowerPoint menggunakan Aspose.Slides for C++.

  • Buat instance dari kelas Presentation.
  • Dapatkan referensi slide ke objek ISlide.
  • Tentukan array kolom dan baris dengan memberikan lebar.
  • Tambahkan tabel ke slide menggunakan metode ISlide->getShapes()->AddTable().
  • Ulangi setiap sel untuk menerapkan pemformatan ke batas atas, bawah, kanan, dan kiri.
  • Menggabungkan sel jika diperlukan.
  • Akses bingkai teks sel untuk menambahkan beberapa teks.
  • Simpan presentasi sebagai file PPTX.

Contoh kode berikut menunjukkan cara membuat tabel dalam presentasi PowerPoint menggunakan C++.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Path ke direktori dokumen.
const String outPath = u"../out/TableFromScratch_out.pptx";

// Muat presentasi yang diinginkan
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);

// Tentukan kolom dengan lebar dan baris dengan tinggi
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// Tambahkan bentuk tabel ke slide
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);


// Tetapkan format batas untuk setiap sel
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);

	}

}

// Menggabungkan sel (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);

// Menggabungkan sel (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);


// Simpan PPTX ke Disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Untuk mempelajari lebih lanjut tentang memanipulasi tabel, kunjungi Menambahkan, Memperbarui, dan Memanipulasi Tabel.

Buat Bagan dalam Presentasi menggunakan C++

Aspose.Slides for C++ mendukung berbagai jenis grafik seperti scatter, treemap, histogram, dan etc. Untuk demonstrasi, mari buat bagan normal. Di bawah ini adalah langkah-langkah untuk melakukan operasi ini.

  • Buat instance dari kelas Presentation.
  • Dapatkan referensi slide yang ingin Anda tambahkan bagan.
  • Tambahkan bagan dengan data default beserta jenis yang diinginkan menggunakan metode ISlide->getShapes()->AddChart().
  • Dapatkan referensi bagan di objek IChart.
  • Hapus data bagan dan tambahkan seri dan kategori baru.
  • Tambahkan data bagan baru untuk rangkaian bagan.
  • Atur warna isian untuk rangkaian bagan.
  • Tambahkan label rangkaian bagan.
  • Simpan presentasi sebagai file PPTX.

Contoh kode berikut menunjukkan cara menyisipkan bagan dalam presentasi PowerPoint menggunakan C++.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// Path ke direktori dokumen.
	const String outPath = u"../out/NormalCharts_out.pptx";

	//Kelas Presentasi Instansiasi yang mewakili file PPTX
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	//Akses slide pertama
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Tambahkan bagan dengan data default
	SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);


	// Mengatur indeks lembar data bagan
	int defaultWorksheetIndex = 0;

	// Mendapatkan lembar kerja data bagan
	SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

	// Judul bagan pengaturan
	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);

	// Hapus seri dan kategori yang dibuat secara default
	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();


	// Sekarang, Menambahkan seri baru
	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());

	// Tambahkan Kategori
	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")));

	
	// Ambil seri bagan pertama
	SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

	// Sekarang mengisi data seri
	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)));

	// Mengatur warna isian untuk seri
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());


	// Ambil seri bagan kedua
	 series = chart->get_ChartData()->get_Series()->idx_get(1);

	// Sekarang mengisi data seri
	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)));

	// Mengatur warna isian untuk seri
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());


	// Label pertama akan menampilkan nama Kategori
	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);

	// Tampilkan nilai untuk label ketiga
	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"/");

	// Tulis file presentasi ke disk
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Pelajari lebih lanjut tentang memanipulasi bagan dari Menambahkan, Memformat, dan Memanipulasi Bagan.

Buka Presentasi PowerPoint di C++

Anda juga dapat membuka presentasi PowerPoint yang ada untuk mengedit konten. Untuk ini, Anda dapat mengikuti langkah-langkah di bawah ini:

Contoh kode berikut menunjukkan cara membuka presentasi PowerPoint yang sudah ada menggunakan C++.

// Path ke direktori dokumen
const String templatePath = u"../templates/AccessSlides.pptx";

// Kelas Presentasi Instansiasi yang mewakili file PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

// Cetak hitungan slide
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat presentasi PowerPoint dari dalam aplikasi C++. Panduan langkah demi langkah dan contoh kode beserta referensi API telah menunjukkan cara membuat presentasi dari awal dan menyisipkan slide, teks, tabel, dan bagan ke dalamnya. Anda dapat mempelajari lebih lanjut tentang API menggunakan dokumentasi.

Lihat juga