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
- Přidejte tvar do snímku aplikace PowerPoint
- Přidejte připojené obrazce na snímek aplikace PowerPoint
- Klonování obrazců ve snímcích PowerPoint
- Odstraňte tvary z PowerPoint Slides pomocí C++
- Podporované tvary PowerPoint
- Získejte bezplatnou licenci
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.
- Nejprve načtěte prezentaci v PowerPointu pomocí třídy Presentation.
- Načtěte snímek, kam chcete přidat tvar, pomocí metody Presentation->getSlides()->idxget (int32t index).
- Přidejte tvar pomocí metody ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Nakonec prezentaci uložte pomocí metody Presentation->Save (System::String name, Export::SaveFormat format).
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ř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.
- Nejprve načtěte prezentaci v PowerPointu pomocí třídy Presentation.
- Načtěte snímek, kam chcete přidat tvary, pomocí metody Presentation->getSlides()->idxget (int32t index).
- Přidejte tvary pomocí metody ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Přidejte spojnici pomocí metody ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float width, float height).
- Připojte tvary ke konektoru pomocí IConnector->setStartShapeConnectedTo (System::SharedPtr hodnota) a IConnector->setEndShapeConnectedTo (System::SharedPtr hodnota) metod.
- Voláním metody IConnector->Reroute() vytvořte nejkratší cestu automatického připojení.
- Nakonec prezentaci uložte pomocí metody Presentation->Save (System::String name, Export::SaveFormat format).
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);
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.
- Nejprve načtěte prezentaci v PowerPointu pomocí třídy Presentation.
- Načtěte zdrojový snímek pomocí metody Presentation->getSlides()->idxget (int32t index).
- Získejte přístup k tvarům zdrojového snímku pomocí metody ISlide->getShapes().
- Získejte přístup k tvarům cílového snímku pomocí metody ISlide->getShapes().
- Naklonujte tvar pomocí IShapeCollection->InsertClone (index int32t, System::SharedPtr sourceShape, float x, float y) metoda.
- Nakonec prezentaci uložte pomocí metody Presentation->Save (System::String name, Export::SaveFormat format).
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);
Odstraňte tvary z PowerPoint Slides pomocí C++
Následují kroky k odebrání obrazců ze snímků aplikace PowerPoint.
- Nejprve načtěte prezentaci v PowerPointu pomocí třídy Presentation.
- Načtěte snímek z místa, kde chcete odstranit tvar, pomocí metody Presentation->getSlides()->idxget (int32t index).
- Najděte požadovaný tvar porovnáním alternativního textu pomocí metody IShape->getAlternativeText().
- Odstraňte tvar pomocí ISlide->getShapes()->Remove (System::SharedPtr tvar) metoda.
- Nakonec prezentaci uložte pomocí metody Presentation->Save (System::String name, Export::SaveFormat format).
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.