PowerPoint Präsentationen erstellen C++

MS PowerPoint ist eine funktionsreiche Anwendung, mit der Sie ansprechende Präsentationen mit Text, Grafiken, Animationen, Diagrammen und mehreren anderen Elementen erstellen können. In diesem Beitrag erfahren Sie, wie Sie die grundlegenden PowerPoint-Automatisierungsfunktionen in den C++ Anwendungen implementieren. Insbesondere lernen Sie, wie Sie PowerPoint Präsentationen erstellen und mit C++ Text, Bilder, Diagramme und Tabellen zu den Folien hinzufügen.

C++ PowerPoint-API

Aspose.Slides for C++ wurde entwickelt, um Funktionen zur Bearbeitung von PowerPoint Präsentationen in C++ Anwendungen zu automatisieren. Mit der API können Sie die PowerPoint Präsentationen nahtlos erstellen, bearbeiten oder konvertieren. Sie können das vollständige Paket der API Dateien herunterladen oder es von NuGet abrufen.

Erstellen Sie eine PowerPoint Präsentation in C++

Beginnen wir mit dem Erstellen einer leeren PowerPoint Präsentation mit Aspose.Slides for C++. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie eine PowerPoint Präsentation mit C++ erstellen.

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

	// Der Pfad zum Dokumentenverzeichnis.
	const String outPath = u"../out/SampleChartresult.pptx";

	//Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
	SharedPtr<Presentation> pres = MakeObject<Presentation>();
	
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Fügen Sie eine automatische Form vom Typ Linie hinzu
	slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
	
	//Präsentation speichern
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Folie zu einer Präsentation in C++ hinzufügen

Nachdem Sie die PowerPoint Präsentation erstellt haben, können Sie Folien darin einfügen. Im Folgenden sind die Schritte zum Hinzufügen von Folien zu einer PowerPoint Präsentation aufgeführt:

Das folgende Codebeispiel zeigt, wie einer PowerPoint Präsentation mithilfe von C++ Folien hinzugefügt werden.

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

	// Der Pfad zum Dokumentenverzeichnis.
	const String outPath = u"../templates/AddSlides.pptx";

	// Instanziieren Sie die Presentation klasse , die die Präsentationsdatei darstellt
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// Instanziieren Sie SlideCollection calss
	SharedPtr<ISlideCollection> slds = pres->get_Slides();

	for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
	{
		// Fügen Sie der Slides Sammlung eine leere Folie hinzu
		slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));

	}

	// Speichern Sie die PPTX Datei auf der Festplatte
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Weitere Informationen zum Bearbeiten von Folien finden Sie unter Hinzufügen, Formatieren und Bearbeiten von Folien.

Hinzufügen von Text zu einer PowerPoint-Folie mit C++

Lassen Sie uns nun einer Folie in der PowerPoint Präsentation Text hinzufügen. Dazu müssen Sie ein Textfeld in die Folie einfügen. Nachfolgend sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Text zu Folien in einer PowerPoint Präsentation mit C++ hinzugefügt wird.

// Der Pfad zum Dokumentenverzeichnis.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";

// Laden Sie die gewünschte Präsentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);

// Fügen Sie eine AutoForm vom Typ Rechteck hinzu
SharedPtr<IAutoShape>  ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);

// Fügen Sie dem Rechteck TextFrame hinzu
ashp->AddTextFrame(u" ");

// Zugriff auf den Textrahmen
SharedPtr<ITextFrame>  txtFrame = ashp->get_TextFrame();

// Erstellen Sie das Absatzobjekt für den Textrahmen
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);

// Portionsobjekt für Absatz erstellen
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
	
// Speichern Sie PPTX auf der Festplatte
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Weitere Informationen zum Bearbeiten von Text in Präsentationen finden Sie unter Hinzufügen, Formatieren und Bearbeiten von Text.

Erstellen Sie eine Tabelle in Präsentation mit C++

Im Folgenden sind die Schritte zum Hinzufügen einer Tabelle in der Folie einer PowerPoint Präsentation mit Aspose.Slides for C++ beschrieben.

  • Erstellen Sie eine Instanz einer Presentation Klasse.
  • Holen Sie sich die Referenz einer Folie in ein ISlide objekt.
  • Definieren Sie Arrays von Spalten und Zeilen, indem Sie die Breite angeben.
  • Fügen Sie der Folie mit der methode ISlide->getShapes()->AddTable() eine Tabelle hinzu.
  • Durchlaufen Sie jede Zelle, um die Formatierung auf den oberen, unteren, rechten und linken Rand anzuwenden.
  • Zellen verbinden, falls erforderlich.
  • Greifen Sie auf den Textrahmen einer Zelle zu, um Text hinzuzufügen.
  • Speichern Sie die Präsentation als PPTX Datei.

Das folgende Codebeispiel zeigt, wie Sie mit C++ eine Tabelle in einer PowerPoint Präsentation erstellen.

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

// Laden Sie die gewünschte Präsentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);

// Definieren Sie Spalten mit Breiten und Zeilen mit Höhen
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// Fügen Sie der Folie eine Tabellenform hinzu
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);


// Legen Sie das Rahmenformat für jede Zelle fest
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);

	}

}

// Zellen verbinden (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);

// Zellen verbinden (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);


// Speichern Sie PPTX auf der Festplatte
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Weitere Informationen zum Bearbeiten von Tabellen finden Sie unter Hinzufügen, Aktualisieren und Bearbeiten von Tabellen.

Erstellen Sie ein Diagramm in Präsentation mit C++

Aspose.Slides for C++ unterstützt verschiedene Arten von Diagrammen wie Streudiagramme, Treemaps, Histogramme und etc. Lassen Sie uns für die Demonstration ein normales Diagramm erstellen. Nachfolgend sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie ab, auf der Sie das Diagramm hinzufügen möchten.
  • Fügen Sie ein Diagramm mit Standarddaten zusammen mit dem gewünschten Typ hinzu, indem Sie die Methode ISlide->getShapes()->AddChart() verwenden.
  • Rufen Sie die Referenz des Diagramms im Objekt ICart ab.
  • Löschen Sie die Diagrammdaten und fügen Sie neue Reihen und Kategorien hinzu.
  • Fügen Sie neue Diagrammdaten für Diagrammserien hinzu.
  • Legen Sie die Füllfarbe für Diagrammserien fest.
  • Beschriftungen für Diagrammreihen hinzufügen.
  • Speichern Sie die Präsentation als PPTX Datei.

Das folgende Codebeispiel zeigt, wie Sie mit C++ ein Diagramm in eine PowerPoint Präsentation einfügen.

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

	// Der Pfad zum Dokumentenverzeichnis.
	const String outPath = u"../out/NormalCharts_out.pptx";

	//Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	//Greifen Sie auf die erste Folie zu
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// Diagramm mit Standarddaten hinzufügen
	SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);


	// Festlegen des Index des Diagrammdatenblatts
	int defaultWorksheetIndex = 0;

	// Abrufen des Diagrammdaten-Arbeitsblatts
	SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

	// Diagrammtitel einstellen
	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);

	// Löschen Sie standardmäßig generierte Serien und Kategorien
	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();


	// Jetzt fügen Sie eine neue Serie hinzu
	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());

	// Kategorien hinzufügen
	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")));

	
	// Nehmen Sie die erste Diagrammserie
	SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

	// Füllen Sie jetzt Seriendaten aus
	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)));

	// Füllfarbe für Serien festlegen
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());


	// Nehmen Sie die zweite Diagrammserie
	 series = chart->get_ChartData()->get_Series()->idx_get(1);

	// Füllen Sie jetzt Seriendaten aus
	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)));

	// Füllfarbe für Serien festlegen
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());


	// Das erste Etikett wird den Kategorienamen anzeigen
	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);

	// Wert für drittes Label anzeigen
	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"/");

	// Schreiben Sie die Präsentationsdatei auf die Festplatte
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Weitere Informationen zum Bearbeiten von Diagrammen finden Sie unter Hinzufügen, Formatieren und Bearbeiten von Diagrammen.

Öffnen Sie eine PowerPoint Präsentation in C++

Sie können auch eine vorhandene PowerPoint Präsentation öffnen, um den Inhalt zu bearbeiten. Dazu können Sie die folgenden Schritte ausführen:

Das folgende Codebeispiel zeigt, wie Sie eine vorhandene PowerPoint Präsentation mit C++ öffnen.

// Der Pfad zum Dokumentenverzeichnis
const String templatePath = u"../templates/AccessSlides.pptx";

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

// Anzahl der Dias drucken
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie PowerPoint Präsentationen aus den C++ Anwendungen heraus erstellen. Die Schritt-für-Schritt-Anleitung und Codebeispiele zusammen mit API-Referenzen haben gezeigt, wie man eine Präsentation von Grund auf neu erstellt und Folien, Text, Tabellen und Diagramme darin einfügt. Weitere Informationen zur API finden Sie in der Dokumentation.

Siehe auch