MS PowerPoint to bogata w funkcje aplikacja, która umożliwia tworzenie atrakcyjnych prezentacji zawierających tekst, grafikę, animacje, wykresy i kilka innych elementów. W tym poście dowiesz się, jak zaimplementować podstawowe funkcje automatyzacji PowerPointa w aplikacjach C++. W szczególności dowiesz się, jak tworzyć prezentacje PowerPoint i dodawać tekst, obrazy, wykresy i tabele do slajdów za pomocą C++.
- Interfejs API programu PowerPoint w C++
- Utwórz prezentację PowerPoint w C++
- Dodaj slajdy do prezentacji
- Dodaj tekst do slajdu programu PowerPoint
- Utwórz tabelę w prezentacji
- Utwórz wykres w prezentacji
- Otwórz istniejącą prezentację programu PowerPoint
- Uzyskaj bezpłatną licencję
Interfejs API programu PowerPoint w C++
Aspose.Slides for C++ został zaprojektowany do automatyzacji funkcji manipulacji prezentacją PowerPoint w aplikacjach C++. Korzystając z interfejsu API, możesz bezproblemowo tworzyć, edytować lub konwertować prezentacje programu PowerPoint. Możesz pobrać pełny pakiet plików API lub pobrać go z NuGet.
Utwórz prezentację PowerPoint w C++
Zacznijmy od utworzenia pustej prezentacji PowerPoint przy użyciu Aspose.Slides for C++. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz obiekt klasy Prezentacja.
- Zapisz prezentację metodą Presentation->Save(String, SaveFormat::Pptx).
Poniższy przykładowy kod pokazuje, jak utworzyć prezentację programu PowerPoint przy użyciu języka C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Ścieżka do katalogu dokumentów.
const String outPath = u"../out/SampleChartresult.pptx";
//Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Dodaj autokształt linii tekstu
slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
//Zapisywanie prezentacji
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Dodaj slajd do prezentacji w C++
Po utworzeniu prezentacji programu PowerPoint możesz wstawiać do niej slajdy. Poniżej przedstawiono kroki dodawania slajdów do prezentacji programu PowerPoint:
- Utwórz obiekt klasy Prezentacja.
- Pobierz slajdy w obiekcie ISlideCollection za pomocą metody Presentation->getSlides().
- Dodaj slajd za pomocą metody ISlideCollection->AddEmptySlide().
- Zapisz prezentację metodą Presentation->Save(String, SaveFormat::Pptx).
Poniższy przykładowy kod pokazuje, jak dodawać slajdy do prezentacji programu PowerPoint przy użyciu języka C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Ścieżka do katalogu dokumentów.
const String outPath = u"../templates/AddSlides.pptx";
// Utwórz instancję Klasa prezentacji, która reprezentuje plik prezentacji
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Utwórz instancję pliku SlideCollection
SharedPtr<ISlideCollection> slds = pres->get_Slides();
for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
{
// Dodaj pusty slajd do kolekcji Slajdy
slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));
}
// Zapisz plik PPTX na dysku
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Aby dowiedzieć się więcej o manipulowaniu slajdami, odwiedź stronę Dodawanie, formatowanie i manipulowanie slajdami.
Dodaj tekst do slajdu programu PowerPoint przy użyciu języka C++
Teraz dodajmy tekst do slajdu w prezentacji programu PowerPoint. W tym celu musisz wstawić pole tekstowe do slajdu. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz nową prezentację lub załaduj istniejącą, używając klasy Presentation.
- Uzyskaj referencję slajdu do obiektu ISlide za pomocą metody Presentation->getSlides()->idxget(int).
- Dodaj prostokąt do slajdu za pomocą metody ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) i pobierz jego referencję w obiekcie IAutoShape.
- Dodaj ramkę tekstową za pomocą metody IAutoShape->AddTextFrame(u" “).
- Pobierz ramkę tekstową za pomocą IAutoShape->getTextFrame() do obiektu ITextFrame.
- Pobierz akapit za pomocą ITextFrame->getParagraphs()->idxget(0) do obiektu IParagraph.
- Uzyskaj dostęp do części akapitu za pomocą IParagraph->getPortions()->idxget(0) do obiektu IPortion.
- Ustaw tekst za pomocą metody IPortion->setText(u"Aspose TextBox”).
- Zapisz prezentację metodą Presentation->Save(String, SaveFormat::Pptx).
Poniższy przykładowy kod pokazuje, jak dodawać tekst do slajdów w prezentacji programu PowerPoint przy użyciu języka C++.
// Ścieżka do katalogu dokumentów.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";
// Załaduj żądaną prezentację
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// Dodaj Autokształt typu Prostokąt
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);
// Dodaj TextFrame do prostokąta
ashp->AddTextFrame(u" ");
// Dostęp do ramki tekstowej
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// Utwórz obiekt Akapit dla ramki tekstowej
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);
// Utwórz obiekt Porcja dla akapitu
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
// Zapisz PPTX na dysku
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Aby dowiedzieć się więcej o manipulowaniu tekstem w prezentacjach, odwiedź stronę Dodawanie, formatowanie i manipulowanie tekstem.
Utwórz tabelę w prezentacji przy użyciu C++
Poniżej przedstawiono kroki, aby dodać tabelę do slajdu prezentacji programu PowerPoint przy użyciu Aspose.Slides for C++.
- Utwórz instancję klasy Presentation.
- Uzyskaj odniesienie slajdu do obiektu ISlide.
- Zdefiniuj tablice kolumn i wierszy, podając szerokość.
- Dodaj tabelę do slajdu za pomocą metody ISlide->getShapes()->AddTable().
- Przejrzyj każdą komórkę, aby zastosować formatowanie do górnej, dolnej, prawej i lewej krawędzi.
- W razie potrzeby scalaj komórki.
- Uzyskaj dostęp do ramki tekstowej komórki, aby dodać tekst.
- Zapisz prezentację jako plik PPTX.
Poniższy przykładowy kod pokazuje, jak utworzyć tabelę w prezentacji programu PowerPoint przy użyciu języka C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Ścieżka do katalogu dokumentów.
const String outPath = u"../out/TableFromScratch_out.pptx";
// Załaduj żądaną prezentację
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);
// Zdefiniuj kolumny z szerokościami i wiersze z wysokościami
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);
// Dodaj kształt tabeli do slajdu
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);
// Ustaw format obramowania dla każdej komórki
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);
}
}
// Scalanie komórek (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);
// Scalanie komórek (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);
// Zapisz PPTX na dysku
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Aby dowiedzieć się więcej o manipulowaniu tabelami, odwiedź Dodawanie, aktualizowanie i manipulowanie tabelami.
Utwórz wykres w prezentacji przy użyciu C++
Aspose.Slides for C++ obsługuje różne typy wykresów, takie jak wykresy rozproszone, mapa drzewa, histogram i etc. Na potrzeby demonstracji utwórzmy normalny wykres. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz instancję klasy Presentation.
- Uzyskaj odwołanie do slajdu, na którym chcesz dodać wykres.
- Dodaj wykres z domyślnymi danymi wraz z żądanym typem za pomocą metody ISlide->getShapes()->AddChart().
- Pobierz odwołanie do wykresu w obiekcie ICart.
- Wyczyść dane wykresu i dodaj nowe serie i kategorie.
- Dodaj nowe dane wykresu dla serii wykresów.
- Ustaw kolor wypełnienia dla serii wykresów.
- Dodaj etykiety serii wykresów.
- Zapisz prezentację jako plik PPTX.
Poniższy przykładowy kod pokazuje, jak wstawić wykres do prezentacji programu PowerPoint przy użyciu języka C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Ścieżka do katalogu dokumentów.
const String outPath = u"../out/NormalCharts_out.pptx";
//Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
//Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Dodaj wykres z domyślnymi danymi
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);
// Ustawianie indeksu arkusza danych wykresu
int defaultWorksheetIndex = 0;
// Pobieranie arkusza danych wykresu
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();
// Tabela ustawień Tytuł
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);
// Usuń domyślnie wygenerowane serie i kategorie
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();
// Teraz dodanie nowej serii
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());
// Dodaj kategorie
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")));
// Weź pierwszą serię wykresów
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);
// Teraz wypełnianie danych serii
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)));
// Ustawianie koloru wypełnienia dla serii
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
// Weź drugą serię wykresów
series = chart->get_ChartData()->get_Series()->idx_get(1);
// Teraz wypełnianie danych serii
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)));
// Ustawianie koloru wypełnienia dla serii
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
// Pierwsza etykieta pokaże nazwę kategorii
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);
// Pokaż wartość dla trzeciej etykiety
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"/");
// Zapisz plik prezentacji na dysku
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Dowiedz się więcej o manipulowaniu wykresami z Dodawanie, formatowanie i manipulowanie wykresami.
Otwórz prezentację PowerPoint w C++
Możesz także otworzyć istniejące prezentacje PowerPoint w celu edycji treści. W tym celu możesz wykonać poniższe kroki:
- Załaduj plik PPTX przy użyciu klasy Presentation, podając nazwę pliku.
- Zaktualizuj treść prezentacji.
- Zapisz zaktualizowany plik przy użyciu metody Presentation->Save(String, SaveFormat).
Poniższy przykładowy kod pokazuje, jak otworzyć istniejącą prezentację programu PowerPoint przy użyciu języka C++.
// Ścieżka do katalogu dokumentów
const String templatePath = u"../templates/AccessSlides.pptx";
// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Wydrukuj liczbę slajdów
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());
Uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się, jak tworzyć prezentacje PowerPoint z poziomu aplikacji C++. Przewodnik krok po kroku i przykłady kodu wraz z referencjami API pokazały, jak utworzyć prezentację od podstaw i wstawić do niej slajdy, tekst, tabele i wykresy. Możesz dowiedzieć się więcej o interfejsie API, korzystając z dokumentacji.