MS PowerPoint je aplikace bohatá na funkce, která vám umožní vytvářet atraktivní prezentace s textem, grafikou, animacemi, grafy a několika dalšími prvky. V tomto příspěvku se dozvíte, jak implementovat základní funkce automatizace PowerPointu v aplikacích C++. Zejména se naučíte vytvářet prezentace v PowerPointu a přidávat text, obrázky, grafy a tabulky na snímky pomocí C++.
- C++ PowerPoint API
- Vytvořte prezentaci v PowerPointu v C++
- Přidejte snímky do prezentace
- Přidat text na snímek aplikace PowerPoint
- Vytvořte tabulku v prezentaci
- Vytvořte graf v prezentaci
- Otevřete existující PowerPointovou prezentaci
- Získejte bezplatnou licenci
C++ PowerPoint API
Aspose.Slides for C++ je navržen tak, aby automatizoval funkce manipulace s prezentacemi PowerPoint v aplikacích C++. Pomocí rozhraní API můžete bez problémů vytvářet, upravovat nebo převádět prezentace PowerPoint. Můžete si stáhnout kompletní balíček souborů API nebo jej získat z NuGet.
Vytvořte prezentaci v PowerPointu v C++
Začněme vytvořením prázdné powerpointové prezentace pomocí Aspose.Slides for C++. Následují kroky k provedení této operace.
- Vytvořte objekt třídy Presentation.
- Uložte prezentaci pomocí metody Presentation->Save(String, SaveFormat::Pptx).
Následující ukázka kódu ukazuje, jak vytvořit prezentaci PowerPoint pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Cesta k adresáři dokumentů.
const String outPath = u"../out/SampleChartresult.pptx";
//Třída okamžité prezentace, která představuje soubor PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Přidejte automatický tvar typového řádku
slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
//Ukládání prezentace
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Přidat snímek do prezentace v C++
Jakmile vytvoříte prezentaci v PowerPointu, můžete do ní vkládat snímky. Níže jsou uvedeny kroky pro přidání snímků do prezentace PowerPoint:
- Vytvořte objekt třídy Presentation.
- Získejte snímky v objektu ISlideCollection pomocí metody Presentation->getSlides().
- Přidejte snímek pomocí metody ISlideCollection->AddEmptySlide().
- Uložte prezentaci pomocí metody Presentation->Save(String, SaveFormat::Pptx).
Následující ukázka kódu ukazuje, jak přidat snímky do prezentace PowerPoint pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Cesta k adresáři dokumentů.
const String outPath = u"../templates/AddSlides.pptx";
// Instantiate Prezentační třída, která představuje soubor prezentace
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Okamžitě spustit SlideCollection calss
SharedPtr<ISlideCollection> slds = pres->get_Slides();
for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
{
// Přidejte prázdný snímek do kolekce Snímky
slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));
}
// Uložte soubor PPTX na disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Chcete-li se dozvědět více o manipulaci se snímky, navštivte Přidávání, formátování a manipulace se snímky.
Přidejte text na snímek PowerPoint pomocí C++
Nyní přidáme text na snímek v prezentaci PowerPoint. K tomu je třeba do snímku vložit textové pole. Níže jsou uvedeny kroky k provedení této operace.
- Vytvořte novou prezentaci nebo načtěte existující pomocí třídy Presentation.
- Získejte odkaz na snímek do objektu ISlide pomocí metody Presentation->getSlides()->idxget(int).
- Přidejte na snímek obdélník pomocí metody ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) a získejte jeho odkaz v objektu IAutoShape.
- Přidejte textový rámeček pomocí metody IAutoShape->AddTextFrame(u" “).
- Získejte textový rámeček pomocí IAutoShape->getTextFrame() do objektu ITextFrame.
- Získejte odstavec pomocí ITextFrame->getParagraphs()->idxget(0) do objektu IParagraph.
- Přístup k části odstavce pomocí IParagraph->getPortions()->idxget(0) do objektu IPortion.
- Nastavte text pomocí metody IPortion->setText(u"Aspose TextBox”).
- Uložte prezentaci pomocí metody Presentation->Save(String, SaveFormat::Pptx).
Následující ukázka kódu ukazuje, jak přidat text do snímků v prezentaci PowerPoint pomocí C++.
// Cesta k adresáři dokumentů.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";
// Načtěte požadovanou prezentaci
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Přístup k prvnímu snímku
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// Přidejte automatický tvar typu Obdélník
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);
// Přidejte TextFrame do obdélníku
ashp->AddTextFrame(u" ");
// Přístup k textovému rámečku
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// Vytvořte objekt Odstavec pro textový rámeček
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);
// Vytvořit objekt části pro odstavec
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
// Uložte PPTX na disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Chcete-li se dozvědět více o manipulaci s textem v prezentacích, navštivte Přidávání, formátování a manipulace s textem.
Vytvořte tabulku v Presentation pomocí C++
Následují kroky pro přidání tabulky do snímku prezentace PowerPoint pomocí Aspose.Slides for C++.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek do objektu ISlide.
- Definujte pole sloupců a řádků zadáním šířky.
- Přidejte tabulku na snímek pomocí metody ISlide->getShapes()->AddTable().
- Iterujte každou buňku a použijte formátování na horní, dolní, pravé a levé ohraničení.
- V případě potřeby sloučte buňky.
- Otevřete textový rámeček buňky a přidejte nějaký text.
- Uložte prezentaci jako soubor PPTX.
Následující ukázka kódu ukazuje, jak vytvořit tabulku v prezentaci PowerPoint pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Cesta k adresáři dokumentů.
const String outPath = u"../out/TableFromScratch_out.pptx";
// Načtěte požadovanou prezentaci
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Přístup k prvnímu snímku
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);
// Definujte sloupce s šířkami a řádky s výškou
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);
// Přidejte na snímek tvar tabulky
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);
// Nastavte formát ohraničení pro každou buňku
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);
}
}
// Sloučení buněk (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);
// Sloučení buněk (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);
// Uložte PPTX na disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Chcete-li se dozvědět více o manipulaci s tabulkami, navštivte Přidávání, aktualizace a manipulace s tabulkami.
Vytvořte graf v prezentaci pomocí C++
Aspose.Slides for C++ podporuje různé typy grafů, jako jsou rozptýlené, stromová mapa, histogram a atd. Pro demonstraci si vytvořte normální graf. Níže jsou uvedeny kroky k provedení této operace.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek, na který chcete přidat graf.
- Přidejte graf s výchozími daty spolu s požadovaným typem pomocí metody ISlide->getShapes()->AddChart().
- Získejte odkaz na graf v objektu IChart.
- Vymažte data grafu a přidejte nové řady a kategorie.
- Přidejte nová data grafu pro řadu grafů.
- Nastavte barvu výplně pro řadu grafů.
- Přidejte popisky řad grafů.
- Uložte prezentaci jako soubor PPTX.
Následující ukázka kódu ukazuje, jak vložit graf do prezentace PowerPoint pomocí C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Cesta k adresáři dokumentů.
const String outPath = u"../out/NormalCharts_out.pptx";
//Třída okamžité prezentace, která představuje soubor PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>();
//Přístup k prvnímu snímku
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Přidat graf s výchozími daty
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);
// Nastavení indexu datového listu grafu
int defaultWorksheetIndex = 0;
// Získání listu dat grafu
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();
// Nastavení názvu grafu
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);
// Smazat výchozí vygenerované série a 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();
// Nyní přidáváme novou sérii
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());
// Přidat 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")));
// Vezměte první sérii grafů
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);
// Nyní se vyplňují data série
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)));
// Nastavení barvy výplně pro sérii
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
// Vezměte druhou řadu grafů
series = chart->get_ChartData()->get_Series()->idx_get(1);
// Nyní se vyplňují data série
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)));
// Nastavení barvy výplně pro sérii
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
// První štítek bude zobrazovat název kategorie
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);
// Zobrazit hodnotu pro třetí štítek
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"/");
// Zapište soubor prezentace na disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Další informace o manipulaci s grafy naleznete v Přidávání, formátování a manipulace s grafy.
Otevřete prezentaci PowerPoint v C++
Chcete-li upravit obsah, můžete také otevřít existující PowerPointové prezentace. K tomu můžete postupovat podle následujících kroků:
- Načtěte soubor PPTX pomocí třídy Presentation zadáním názvu souboru.
- Aktualizujte obsah prezentace.
- Uložte aktualizovaný soubor pomocí metody Presentation->Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak otevřít existující prezentaci PowerPoint pomocí C++.
// Cesta k adresáři dokumentů
const String templatePath = u"../templates/AccessSlides.pptx";
// Třída okamžité prezentace, která představuje soubor PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Tisk počtu snímků
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());
Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci, abyste mohli vyzkoušet API bez omezení hodnocení.
Závěr
V tomto článku jste se naučili vytvářet prezentace PowerPoint z aplikací C++. Podrobný průvodce a ukázky kódu spolu s odkazy na API ukázaly, jak vytvořit prezentaci od začátku a vložit do ní snímky, text, tabulky a grafy. Více o API můžete prozkoumat pomocí dokumentace.