powerpoint sunumları oluşturma C++

MS PowerPoint, metin, grafikler, animasyonlar, çizelgeler ve diğer birçok öğeye sahip çekici sunumlar oluşturmanıza izin veren, zengin özelliklere sahip bir uygulamadır. Bu gönderide, temel PowerPoint otomasyon özelliklerini C++ uygulamalarında nasıl uygulayacağınızı öğreneceksiniz. Özellikle, C++ kullanarak PowerPoint sunumları oluşturmayı ve slaytlara metin, resim, çizelge ve tablo eklemeyi öğreneceksiniz.

C++ PowerPoint API’si

Aspose.Slides for C++, C++ uygulamaları içindeki PowerPoint sunum işleme özelliklerini otomatikleştirmek için tasarlanmıştır. API’yi kullanarak PowerPoint sunumlarını sorunsuz bir şekilde oluşturabilir, düzenleyebilir veya dönüştürebilirsiniz. API dosyalarının tam paketini indirebilir veya NuGet’ten alabilirsiniz.

C++ ile PowerPoint Sunumu Oluşturma

Aspose.Slides for C++ kullanarak boş bir PowerPoint sunumu oluşturarak başlayalım. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, C++ kullanarak bir PowerPoint sunusu oluşturmayı gösterir.

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

	// Belgeler dizininin yolu.
	const String outPath = u"../out/SampleChartresult.pptx";

	//PPTX dosyasını temsil eden Sunum sınıfını oluşturun
	SharedPtr<Presentation> pres = MakeObject<Presentation>();
	
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Yazı satırına otomatik şekil ekleme
	slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
	
	//Sunum kaydediliyor
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

C++ ile Sunuma Slayt Ekleme

PowerPoint sunumunu oluşturduktan sonra, içine slaytlar ekleyebilirsiniz. Bir PowerPoint sunumuna slayt eklemek için izlenecek adımlar şunlardır:

Aşağıdaki kod örneği, C++ kullanarak bir PowerPoint sunumuna nasıl slayt ekleneceğini gösterir.

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

	// Belgeler dizininin yolu.
	const String outPath = u"../templates/AddSlides.pptx";

	// Sunum dosyasını temsil eden Sunum sınıfını oluşturun
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// SlideCollection sınıfının örneğini oluşturun
	SharedPtr<ISlideCollection> slds = pres->get_Slides();

	for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
	{
		// Slaytlar koleksiyonuna boş bir slayt ekleyin
		slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));

	}

	// PPTX dosyasını Diske kaydedin
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Slaytları değiştirme hakkında daha fazla bilgi edinmek için Slaytları Ekleme, Biçimlendirme ve Değiştirme sayfasını ziyaret edin.

C++ kullanarak PowerPoint Slaydına Metin Ekleme

Şimdi PowerPoint sunumundaki bir slayda metin ekleyelim. Bunun için slayda bir metin kutusu eklemeniz gerekir. Bu işlemi gerçekleştirme adımları aşağıdadır.

Aşağıdaki kod örneği, C++ kullanarak bir PowerPoint sunumundaki slaytlara nasıl metin ekleneceğini gösterir.

// Belgeler dizininin yolu.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";

// İstediğiniz sunumu yükleyin
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);

// Dikdörtgen türünde bir Otomatik Şekil ekleyin
SharedPtr<IAutoShape>  ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);

// Dikdörtgene TextFrame Ekle
ashp->AddTextFrame(u" ");

// Metin çerçevesine erişme
SharedPtr<ITextFrame>  txtFrame = ashp->get_TextFrame();

// Metin çerçevesi için Paragraf nesnesi oluşturma
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);

// Paragraf için Kısım nesnesi oluştur
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
	
// PPTX'i Diske Kaydet
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Sunulardaki metinleri değiştirme hakkında daha fazla bilgi edinmek için Metin Ekleme, Biçimlendirme ve Manipüle Etme sayfasını ziyaret edin.

C++ kullanarak Sunumda Tablo Oluşturma

Aspose.Slides for C++ kullanarak bir PowerPoint sunumunun slaydına tablo ekleme adımları aşağıdadır.

  • Sunum sınıfının bir örneğini oluşturun.
  • Bir slaydın referansını bir ISlide nesnesine alın.
  • Genişliği sağlayarak sütun ve satır dizilerini tanımlayın.
  • ISlide->getShapes()->AddTable() yöntemini kullanarak slayda bir tablo ekleyin.
  • Biçimlendirmeyi üst, alt, sağ ve sol kenarlıklara uygulamak için her hücreyi yineleyin.
  • Gerekirse hücreleri birleştirin.
  • Biraz metin eklemek için bir hücrenin metin çerçevesine erişin.
  • Sunumu bir PPTX dosyası olarak kaydedin.

Aşağıdaki kod örneği, C++ kullanarak PowerPoint sunusunda nasıl tablo oluşturulacağını gösterir.

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

// İstediğiniz sunumu yükleyin
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);

// Genişliklere sahip sütunları ve yüksekliklere sahip satırları tanımlayın
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// Slayda tablo şekli ekleyin
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);


// Her hücre için kenarlık biçimini ayarla
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);

	}

}

// Hücreleri birleştirme (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);

// Hücreleri birleştirme (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);


// PPTX'i Diske Kaydet
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Tabloları manipüle etme hakkında daha fazla bilgi edinmek için Tabloları Ekleme, Güncelleme ve Manipüle Etme sayfasını ziyaret edin.

C++ kullanarak Sunumda Grafik Oluşturma

Aspose.Slides for C++, dağınık, ağaç haritası, histogram ve vb gibi çeşitli grafik türlerini destekler. Gösterim için normal bir grafik oluşturalım. Bu işlemi gerçekleştirme adımları aşağıdadır.

  • Sunum sınıfının bir örneğini oluşturun.
  • Grafiği eklemek istediğiniz slaydın referansını alın.
  • ISlide->getShapes()->AddChart() yöntemini kullanarak istenen türle birlikte varsayılan verilerle grafik ekleyin.
  • ICart nesnesindeki grafiğin referansını alın.
  • Grafik verilerini temizleyin ve yeni seriler ve kategoriler ekleyin.
  • Grafik serisi için yeni grafik verileri ekleyin.
  • Grafik serisi için dolgu rengini ayarlayın.
  • Grafik serisi etiketleri ekleyin.
  • Sunumu bir PPTX dosyası olarak kaydedin.

Aşağıdaki kod örneği, C++ kullanarak bir PowerPoint sunumuna nasıl grafik ekleneceğini gösterir.

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

	// Belgeler dizininin yolu.
	const String outPath = u"../out/NormalCharts_out.pptx";

	//PPTX dosyasını temsil eden Sunum sınıfını oluşturun
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	//İlk slayda erişin
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Varsayılan verilerle grafik ekle
	SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);


	// Grafik veri sayfasının dizinini ayarlama
	int defaultWorksheetIndex = 0;

	// Grafik verileri çalışma sayfasını alma
	SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

	// Ayar tablosu Başlık
	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);

	// Oluşturulan varsayılan serileri ve kategorileri silin
	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();


	// Şimdi yeni bir dizi ekliyoruz
	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());

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

	
	// İlk grafik serisini al
	SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

	// Şimdi seri verileri dolduruluyor
	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)));

	// Seri için dolgu rengini ayarlama
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());


	// İkinci grafik serisini alın
	 series = chart->get_ChartData()->get_Series()->idx_get(1);

	// Şimdi seri verileri dolduruluyor
	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)));

	// Seri için dolgu rengini ayarlama
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());


	// İlk etiket Kategori adını gösterecek
	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);

	// Üçüncü etiket için değer göster
	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"/");

	// Sunum dosyasını diske yazın
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Ekleme, Biçimlendirme ve Grafikleri Değiştirme bölümünden grafikleri işleme hakkında daha fazla bilgi edinin.

C++‘da bir PowerPoint Sunumu açın

İçeriği düzenlemek için mevcut bir PowerPoint sunumunu da açabilirsiniz. Bunun için aşağıdaki adımları takip edebilirsiniz:

  • Dosyanın adını sağlayarak Sunum sınıfını kullanarak PPTX dosyasını yükleyin.
  • Sunumun içeriğini güncelleyin.
  • Güncellenen dosyayı Sunum->Save(String, SaveFormat) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, varolan bir PowerPoint sunumunun C++ kullanılarak nasıl açılacağını gösterir.

// Belgeler dizinine giden yol
const String templatePath = u"../templates/AccessSlides.pptx";

// PPTX dosyasını temsil eden Sunum sınıfını oluşturun
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

// Slayt sayısını yazdır
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmaksızın denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C++ uygulamalarından PowerPoint sunumları oluşturmayı öğrendiniz. API referanslarıyla birlikte adım adım kılavuz ve kod örnekleri, sıfırdan bir sunumun nasıl oluşturulacağını ve buna slaytlar, metin, tablolar ve çizelgelerin nasıl ekleneceğini göstermiştir. Belgeleri kullanarak API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız