Práce s tvary v prezentacích PowerPoint pomocí C++

Microsoft PowerPoint vám poskytuje možnost přidávat do prezentací tvary. Tvary mohou být užitečné ve scénářích, jako je zobrazení toku dat nebo zobrazení různých fází procesu. Můžete použít tvary, jako jsou elipsy, čáry, obdélníky atd., a spojovat je pomocí spojek. Můžete se ocitnout ve scénářích, kdy budete muset přidávat obrazce do snímků aplikace PowerPoint programově. Za tímto účelem vás tento článek naučí pracovat s tvary v prezentacích PowerPoint pomocí C++.

C++ API pro práci s tvary v PowerPointových prezentacích

Aspose.Slides for C++ je nativní knihovna C++, která podporuje vytváření, čtení a manipulaci se soubory PowerPoint. Rozhraní API také podporuje práci s tvary v prezentacích PowerPoint. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Slides.Cpp

Přidejte tvar do snímku aplikace PowerPoint

Chcete-li přidat tvar, použijte metodu ISlide->getShapes()->AddAutoShape() poskytovanou rozhraním API. Následují kroky, jak přidat obrazec na snímek aplikace PowerPoint.

Následuje ukázkový kód pro přidání obrazce na snímek aplikace PowerPoint pomocí jazyka C++.

// Cesty k souborům
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Načtěte soubor prezentace
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Získejte první snímek
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Přidejte tvar
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Uložit soubor prezentace
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Přidat tvar do snímku aplikace PowerPoint

Přidejte připojené obrazce na snímek aplikace PowerPoint

Ke spojení tvarů lze použít konektory. Chcete-li vytvořit konektor, můžete použít metodu ISlide->getShapes()->AddConnector(). Následují kroky k přidání připojených obrazců na snímek aplikace PowerPoint.

Následuje ukázkový kód pro přidání připojených obrazců na snímek aplikace PowerPoint pomocí C++.

// Cesty k souboru
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Načtěte soubor prezentace
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Získejte první snímek
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Přidejte první tvar
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Přidejte druhý tvar
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Přidejte konektor
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Spojte tvary pomocí spojky
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

// Přesměrování volání pro nastavení automatické nejkratší cesty mezi tvary
connector->Reroute();

// Uložit soubor prezentace
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Přidejte připojené obrazce do snímku aplikace PowerPoint

Klonování obrazců ve snímcích PowerPoint

Můžete také klonovat existující tvary pomocí Aspose.Slides for C++ API. Chcete-li naklonovat tvar, použijte metodu ShapeCollection->InsertClone() poskytovanou rozhraním API. Následují kroky ke klonování obrazců z jednoho snímku do druhého.

Následuje ukázkový kód pro klonování obrazců na snímcích PowerPoint pomocí C++.

// Cesty k souborům
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Načtěte soubor prezentace
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Přístup k prvnímu snímku
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Přístup ke kolekci tvarů pro vybraný snímek
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Získejte kolekci tvarů z cílového snímku
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();

// Tvar klonu
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);

// Uložit soubor prezentace
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Klonování obrazců ve snímcích PowerPoint

Odstraňte tvary z PowerPoint Slides pomocí C++

Následují kroky k odebrání obrazců ze snímků aplikace PowerPoint.

Následuje ukázkový kód pro odebrání obrazců ze snímků aplikace PowerPoint pomocí C++.

// Cesty k souboru
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Načtěte soubor prezentace
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Přístup k prvnímu snímku
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

String alttext = u"User Defined";

int iCount = slide->get_Shapes()->get_Count();

for (int i = 0; i < iCount; i++)
{
	// Přístup k tvaru
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Odstraňte tvar
		slide->get_Shapes()->Remove(ashape);
	}
}

// Uložit soubor prezentace
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Podporované tvary PowerPoint

Aspose.Slides for C++ podporuje mnoho tvarů, se kterými můžete pracovat. Následuje seznam některých podporovaných tvarů.

Úplný seznam podporovaných tvarů můžete zobrazit zobrazením hodnot výčtu ShapeType.

Získejte bezplatnou licenci

Můžete požádat o bezplatnou dočasnou licenci a vyzkoušet API bez omezení hodnocení.

Závěr

V tomto článku jste se naučili pracovat s tvary v prezentacích PowerPoint pomocí C++. Konkrétně jste se naučili přidávat, klonovat a odstraňovat tvary ze snímků aplikace PowerPoint. Dále jste viděli, jak spojovat tvary pomocí spojky. Kromě práce s tvary nabízí Aspose.Slides for C++ mnoho dalších funkcí pro vylepšení vašich prezentací v PowerPointu. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také