Tvary jsou skvělým způsobem, jak učinit vaše prezentace v PowerPointu propracovanějšími a přitažlivějšími. PowerPoint nabízí širokou škálu tvarů, které můžete přidat do snímků prezentace, tj. elipsy, čáry, obdélníky, spojnice a tak dále. Aby bylo možné tuto funkci automatizovat, tento článek popisuje, jak přidávat, klonovat a odstraňovat obrazce ve snímcích PowerPointu programově pomocí C#.
- C# API pro práci s PowerPoint Shapes
- Typy tvarů PowerPoint
- Přidat tvar do snímků aplikace PowerPoint
- Přidejte konektor do obrazců v PowerPointových snímcích
- Klonujte obrazec v PowerPointových snímcích
- Odebrat obrazce ze snímků aplikace PowerPoint
C# API pro práci s PowerPoint Shapes
Aspose.Slides for .NET je C# API, které je navrženo pro práci s PowerPointovými prezentacemi z aplikací .NET. Spolu s dalšími funkcemi pro manipulaci s prezentacemi poskytuje rozhraní API snadné způsoby práce s tvary na snímcích aplikace PowerPoint. Můžete si buď stáhnout API DLL, nebo jej nainstalovat přes NuGet.
Install-Package Aspose.Slides.NET
PowerPoint tvary
Aspose.Slides for .NET podporuje širokou škálu typů tvarů, které můžete přidat do snímků aplikace PowerPoint. Mezi nejčastěji používané tvary patří:
Přidání tvaru do snímků PowerPoint pomocí C#
Aby bylo možné přidat tvar, tj. elipsu, čáru, obdélník atd., Aspose.Slides poskytuje metodu IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). Výčet ShapeType vám umožňuje určit typ tvaru, který chcete přidat. Následují kroky, jak přidat obrazec na snímek aplikace PowerPoint.
- Vytvořte instanci třídy Presentation a vytvořte novou prezentaci nebo načtěte existující.
- Získejte odkaz na snímek pomocí Presentation.Slides[index] do objektu ISlide.
- Přidejte elipsu (nebo jakýkoli jiný tvar) pomocí metody IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) vystavené objektem IShapes.
- Uložte soubor PPTX pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak přidat obrazec do snímku aplikace PowerPoint pomocí jazyka C#.
// Vytvořte instanci objektu Presentation, který představuje soubor prezentace
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Získejte první snímek
ISlide sld = pres.Slides[0];
// Přidejte automatický tvar typu elipsy
sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);
// Uložit prezentaci
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Přidat konektor pro připojení tvarů PowerPoint v C#
Spojka je čára, která se používá ke spojení tvarů za účelem jejich spojení. Spojka může být rovná nebo zakřivená čára. Podívejme se, jak přidat spojnici mezi dva obrazce na snímku aplikace PowerPoint.
- Vytvořte instanci třídy Presentation a vytvořte novou prezentaci.
- Získejte odkaz na snímek pomocí Presentation.Slides[index] do objektu ISlide.
- Přidejte dva tvary stejně jako v předchozím příkladu a získejte jejich reference v objektech IAutoShape.
- Vytvořte nový objekt IConnector pomocí metody IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Spojte tvary pomocí vlastností IConnector.StartShapeConnectedTo a IConnector.EndShapeConnectedTo.
- Voláním metody IConnector.Reroute() vytvořte nejkratší cestu automatického připojení.
- Uložte soubor PPTX pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak připojit obrazce na snímku aplikace PowerPoint pomocí jazyka C#.
// Vytvořte instanci objektu Presentation, který představuje soubor prezentace
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Přístup ke kolekci tvarů pro vybraný snímek
IShapeCollection shapes = pres.Slides[0].Shapes;
// Přidejte automatický tvar Ellipse
IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// Přidejte obdélník automatického tvaru
IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// Přidání tvaru konektoru do sbírky tvarů snímků
IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// Spojování tvarů s konektory
connector.StartShapeConnectedTo = ellipse;
connector.EndShapeConnectedTo = rectangle;
// Přesměrování volání pro nastavení automatické nejkratší cesty mezi tvary
connector.Reroute();
// Uložit prezentaci
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Klonování tvarů v PowerPointových snímcích pomocí C#
Pomocí Aspose.Slides for .NET můžete také klonovat tvary z jednoho snímku aplikace PowerPoint do druhého. Následují kroky k provedení této operace.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek pomocí Presentation.Slides[index] do objektu ISlide.
- Získejte přístup ke zdrojovým tvarům snímků pomocí kolekce ISlide.Shapes.
- Získejte přístup k tvarům cílového snímku pomocí kolekce ISlide.Shapes.
- Klonujte tvary z kolekce tvarů zdrojového snímku do cílového snímku pomocí metody IShapeCollection.AddClone(ISlide).
- Uložte aktualizovaný soubor prezentace.
Následující ukázka kódu ukazuje, jak klonovat obrazce v rámci snímků aplikace PowerPoint pomocí jazyka C#.
// Vytvořte instanci objektu Presentation, který představuje soubor prezentace
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Získejte kolekci tvarů ze zdrojového snímku
IShapeCollection sourceShapes = pres.Slides[0].Shapes;
ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
// Získejte kolekci tvarů z cílového snímku
IShapeCollection destShapes = destSlide.Shapes;
destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
destShapes.AddClone(sourceShapes[2]);
// Tvar klonu
destShapes.InsertClone(0, sourceShapes[0], 50, 150);
// Uložit prezentaci
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Odebrání tvarů z PowerPoint Slides pomocí C#
Následují kroky k odebrání obrazců ze snímku aplikace PowerPoint.
- Vytvořte instanci třídy Presentation pro načtení souboru PPTX.
- Přístup k požadovanému snímku z Presentation.Slides[index] do objektu ISlide.
- Najděte tvar pomocí konkrétního IShape.AlternativeText.
- Odstraňte tvar pomocí metody ISlide.Shapes.Remove(IShape).
- Uložte aktualizovaný soubor prezentace.
Následující ukázka kódu ukazuje, jak odebrat obrazce ze snímku aplikace PowerPoint pomocí jazyka C#.
// Vytvořte instanci objektu Presentation, který představuje soubor prezentace
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Získejte první snímek
ISlide sld = pres.Slides[0];
// Přidejte automatický tvar typu obdélník
IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
String alttext = "User Defined";
int iCount = sld.Shapes.Count;
for (int i = 0; i < iCount; i++)
{
// Načíst tvar
AutoShape ashp = (AutoShape)sld.Shapes[0];
if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
{
// Odstraňte tvar
sld.Shapes.Remove(ashp);
}
}
// Uložit prezentaci
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Závěr
MS PowerPoint vám umožňuje používat různé typy tvarů, aby byly vaše snímky propracovanější. Pomocí elips, obdélníků, čar atd. můžete nakreslit své tvary a spojnice k jejich spojení. S pomocí kroků a ukázek kódu se tento článek zabýval tím, jak přidávat, klonovat a odstraňovat obrazce ze snímků aplikace PowerPoint programově pomocí C#. V případě, že byste chtěli prozkoumat více o API, můžete navštívit dokumentaci.