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
- Erstellen Sie eine PowerPoint Präsentation in C++
- Folien zu einer Präsentation hinzufügen
- Hinzufügen von Text zu einer PowerPoint-Folie
- Erstellen Sie eine Tabelle in Präsentation
- Erstellen Sie ein Diagramm in der Präsentation
- Öffnen Sie eine vorhandene PowerPoint Präsentation
- Holen Sie sich eine kostenlose Lizenz
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.
- Erstellen Sie ein Objekt der Klasse Presentation.
- Speichern Sie die Präsentation mit der methode Presentation->Save(String, SaveFormat::Pptx).
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:
- Erstellen Sie ein Objekt der Klasse Presentation.
- Rufen Sie Folien im Objekt ISlideCollection mit der methode Presentation->getSlides() ab.
- Folie mit der methode ISlideCollection->AddEmptySlide() hinzufügen.
- Speichern Sie die Präsentation mit der methode Presentation->Save(String, SaveFormat::Pptx).
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.
- Erstellen Sie eine neue Präsentation oder laden Sie eine vorhandene mit der Klasse Presentation.
- Rufen Sie die Referenz der Folie in das Objekt ISlide mithilfe der Methode Presentation->getSlides()->idxget(int) ab.
- Fügen Sie der Folie mit der methode ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) ein Rechteck hinzu und rufen Sie seine Referenz im Objekt IAutoShape ab.
- Textrahmen mit der methode IAutoShape->AddTextFrame(u" “) hinzufügen.
- Holen Sie sich den Textrahmen mit IAutoShape->getTextFrame() in das ITextFrame objekt.
- Holen Sie sich den Absatz mit ITextFrame->getParagraphs()->idxget(0) in das IParagraph objekt.
- Greifen Sie mit IParagraph->getPortions()->idxget(0) auf einen Teil des Absatzes im Objekt IPortion zu.
- Legen Sie den Text mit der methode IPortion->setText(u"Aspose TextBox”) fest.
- Speichern Sie die Präsentation mit der methode Presentation->Save(String, SaveFormat::Pptx).
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:
- Laden Sie die PPTX Datei mit der Klasse Presentation, indem Sie den Namen der Datei angeben.
- Aktualisieren Sie den Inhalt der Präsentation.
- Speichern Sie die aktualisierte Datei mit der methode Presentation->Save(String, SaveFormat).
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.