MS PowerPoint är ett funktionsrikt program som låter dig skapa tilltalande presentationer med text, grafik, animationer, diagram och flera andra element. I det här inlägget kommer du att lära dig hur du implementerar de grundläggande PowerPoint-automationsfunktionerna i C++-applikationerna. I synnerhet kommer du att lära dig hur du skapar PowerPoint-presentationer och lägger till text, bilder, diagram och tabeller till bilderna med C++.
- C++ PowerPoint API
- Skapa en PowerPoint-presentation i C++
- Lägg till bilder i en presentation
- Lägg till text till en PowerPoint-bild
- Skapa en tabell i presentationen
- Skapa ett diagram i presentationen
- Öppna en befintlig PowerPoint-presentation
- Få gratis licens
C++ PowerPoint API
Aspose.Slides för C++ är utformad för att automatisera funktioner för PowerPoint-presentationmanipulering i C++-applikationer. Med hjälp av API:t kan du skapa, redigera eller konvertera PowerPoint-presentationer sömlöst. Du kan ladda ner hela paketet med API-filer eller hämta det från NuGet.
Skapa en PowerPoint-presentation i C++
Låt oss börja med att skapa en tom PowerPoint-presentation med Aspose.Slides för C++. Följande är stegen för att utföra denna operation.
- Skapa ett objekt av klassen Presentation.
- Spara presentationen med metoden Presentation->Save(String, SaveFormat::Pptx).
Följande kodexempel visar hur du skapar en PowerPoint-presentation med C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Sökvägen till dokumentkatalogen.
const String outPath = u"../out/SampleChartresult.pptx";
//Instantiate Presentation-klass som representerar PPTX-fil
SharedPtr<Presentation> pres = MakeObject<Presentation>();
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Lägg till en autoform av typlinje
slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
//Sparar presentation
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Lägg till bild till en presentation i C++
När du har skapat PowerPoint-presentationen kan du infoga bilder i den. Följande är stegen för att lägga till bilder till en PowerPoint-presentation:
- Skapa ett objekt av klassen Presentation.
- Hämta bilder i objektet ISlideCollection med metoden Presentation->getSlides().
- Lägg till bild med metoden ISlideCollection->AddEmptySlide().
- Spara presentationen med metoden Presentation->Save(String, SaveFormat::Pptx).
Följande kodexempel visar hur man lägger till bilder i en PowerPoint-presentation med C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Sökvägen till dokumentkatalogen.
const String outPath = u"../templates/AddSlides.pptx";
// Instantiate Presentation-klass som representerar presentationsfilen
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Instantera SlideCollection-kalender
SharedPtr<ISlideCollection> slds = pres->get_Slides();
for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
{
// Lägg till en tom bild i presentationssamlingen
slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));
}
// Spara PPTX-filen på disken
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
För att lära dig mer om att manipulera bilder, besök Lägga till, formatera och manipulera bilder.
Lägg till text till en PowerPoint-bild med C++
Låt oss nu lägga till text till en bild i PowerPoint-presentationen. För detta måste du infoga en textruta i bilden. Nedan följer stegen för att utföra denna operation.
- Skapa en ny presentation eller ladda en befintlig med klassen Presentation.
- Få referensen för bilden till objektet ISlide med metoden Presentation->getSlides()->idxget(int).
- Lägg till en rektangel till bilden med metoden ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) och få dess referens i objektet IAutoShape.
- Lägg till textram med metoden IAutoShape->AddTextFrame(u" “).
- Hämta textramen med IAutoShape->getTextFrame() till objektet ITextFrame.
- Hämta stycke med ITextFrame->getParagraphs()->idxget(0) till objektet IParagraph.
- Åtkomst del av stycket med IParagraph->getPortions()->idxget(0) till objektet IPortion.
- Ställ in text med metoden IPortion->setText(u"Aspose TextBox”).
- Spara presentationen med metoden Presentation->Save(String, SaveFormat::Pptx).
Följande kodexempel visar hur du lägger till text till bilder i en PowerPoint-presentation med C++.
// Sökvägen till dokumentkatalogen.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";
// Ladda önskad presentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Få tillgång till första bilden
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// Lägg till en AutoShape av typen rektangel
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);
// Lägg till TextFrame till rektangeln
ashp->AddTextFrame(u" ");
// Åtkomst till textramen
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// Skapa objektet Stycke för textram
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);
// Skapa delobjekt för stycke
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
// Spara PPTX till disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
För att lära dig mer om att manipulera text i presentationer, besök Lägga till, formatera och manipulera text.
Skapa en tabell i presentation med C++
Följande är stegen för att lägga till en tabell i en PowerPoint-presentations bild med Aspose.Slides för C++.
- Skapa en instans av en klass Presentation.
- Få referensen för en bild till ett ISlide objekt.
- Definiera arrayer av kolumner och rader genom att ange bredden.
- Lägg till en tabell till bilden med metoden ISlide->getShapes()->AddTable().
- Iterera genom varje cell för att tillämpa formatering på de övre, nedre, högra och vänstra gränserna.
- Slå samman celler om det behövs.
- Gå till textramen i en cell för att lägga till lite text.
- Spara presentationen som en PPTX-fil.
Följande kodexempel visar hur man skapar tabeller i PowerPoint-presentation med C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Sökvägen till dokumentkatalogen.
const String outPath = u"../out/TableFromScratch_out.pptx";
// Ladda önskad presentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Få tillgång till första bilden
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);
// Definiera kolumner med bredder och rader med höjder
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);
// Lägg till bordsform för att glida
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);
// Ställ in ramformat för varje cell
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);
}
}
// Slår ihop celler (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);
// Slår ihop celler (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);
// Spara PPTX till disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
För att lära dig mer om att manipulera tabellerna, besök Lägga till, uppdatera och manipulera tabeller.
Skapa ett diagram i presentation med C++
Aspose.Slides för C++ stöder olika typer av diagram som spridda diagram, trädkarta, histogram och etc. För demonstrationen, låt oss skapa ett normalt diagram. Nedan följer stegen för att utföra denna operation.
- Skapa en instans av klassen Presentation.
- Skaffa referensen till en bild som du vill lägga till diagrammet på.
- Lägg till diagram med standarddata tillsammans med önskad typ med metoden ISlide->getShapes()->AddChart().
- Hämta referensen till diagrammet i objektet IChart.
- Rensa diagramdata och lägg till nya serier och kategorier.
- Lägg till nya diagramdata för diagramserier.
- Ställ in fyllningsfärg för diagramserier.
- Lägg till diagramserieetiketter.
- Spara presentationen som en PPTX-fil.
Följande kodexempel visar hur man infogar ett diagram i en PowerPoint-presentation med C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// Sökvägen till dokumentkatalogen.
const String outPath = u"../out/NormalCharts_out.pptx";
//Instantiate Presentation-klass som representerar PPTX-fil
SharedPtr<Presentation> pres = MakeObject<Presentation>();
//Få tillgång till första bilden
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Lägg till diagram med standarddata
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);
// Ställa in index för diagramdatabladet
int defaultWorksheetIndex = 0;
// Hämta arbetsbladet för diagramdata
SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();
// Inställningsdiagram Titel
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);
// Ta bort standardgenererade serier och kategorier
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();
// Nu lägger vi till en ny serie
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());
// Lägg till Catrgories
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")));
// Ta första diagramserien
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);
// Fyller nu på seriedata
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)));
// Ställa in fyllnadsfärg för serier
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
// Ta den andra diagramserien
series = chart->get_ChartData()->get_Series()->idx_get(1);
// Fyller nu på seriedata
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)));
// Ställa in fyllnadsfärg för serier
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());
// Den första etiketten kommer att visa Kategorinamn
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);
// Visa värde för tredje etikett
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"/");
// Skriv presentationsfilen till disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Läs mer om att manipulera diagram från Lägga till, formatera och manipulera diagram.
Öppna en PowerPoint-presentation i C++
Du kan också öppna en befintlig PowerPoint-presentation för att redigera innehållet. För detta kan du följa stegen nedan:
- Ladda PPTX-filen med klassen Presentation genom att ange filens namn.
- Uppdatera innehållet i presentationen.
- Spara den uppdaterade filen med metoden Presentation->Save(String, SaveFormat).
Följande kodexempel visar hur man öppnar en befintlig PowerPoint-presentation med C++.
// Sökvägen till dokumentkatalogen
const String templatePath = u"../templates/AccessSlides.pptx";
// Instantiate Presentation-klass som representerar PPTX-fil
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Skriv ut antal diabilder
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());
Skaffa en gratis licens
Du kan skaffa en gratis tillfällig licens för att prova API utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du skapar PowerPoint-presentationer från C++-applikationerna. Steg-för-steg-guiden och kodexempel tillsammans med API-referenser har visat hur man skapar en presentation från början och infogar bilder, text, tabeller och diagram i den. Du kan utforska mer om API:t med hjälp av dokumentationen.