Práce s tvary v Slidech v C#.jpg

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

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.

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.

  1. Vytvořte instanci třídy Presentation a vytvořte novou prezentaci.
  2. Získejte odkaz na snímek pomocí Presentation.Slides[index] do objektu ISlide.
  3. Přidejte dva tvary stejně jako v předchozím příkladu a získejte jejich reference v objektech IAutoShape.
  4. Vytvořte nový objekt IConnector pomocí metody IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Spojte tvary pomocí vlastností IConnector.StartShapeConnectedTo a IConnector.EndShapeConnectedTo.
  6. Voláním metody IConnector.Reroute() vytvořte nejkratší cestu automatického připojení.
  7. 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.

  1. Vytvořte instanci třídy Presentation.
  2. Získejte odkaz na snímek pomocí Presentation.Slides[index] do objektu ISlide.
  3. Získejte přístup ke zdrojovým tvarům snímků pomocí kolekce ISlide.Shapes.
  4. Získejte přístup k tvarům cílového snímku pomocí kolekce ISlide.Shapes.
  5. Klonujte tvary z kolekce tvarů zdrojového snímku do cílového snímku pomocí metody IShapeCollection.AddClone(ISlide).
  6. 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.

  1. Vytvořte instanci třídy Presentation pro načtení souboru PPTX.
  2. Přístup k požadovanému snímku z Presentation.Slides[index] do objektu ISlide.
  3. Najděte tvar pomocí konkrétního IShape.AlternativeText.
  4. Odstraňte tvar pomocí metody ISlide.Shapes.Remove(IShape).
  5. 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.

Viz také