skapa powerpoint-presentationer C++

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

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.

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:

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.

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:

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.

Se även