Praca z kształtami w slajdach w języku C#.jpg

Kształty to doskonały sposób na uczynienie prezentacji programu PowerPoint bardziej szczegółowymi i atrakcyjnymi. PowerPoint udostępnia szeroką gamę kształtów, które można dodawać do slajdów prezentacji, np. elipsy, linie, prostokąty, łączniki i tak dalej. Aby zautomatyzować tę funkcję, w tym artykule omówiono programowe dodawanie, klonowanie i usuwanie kształtów na slajdach programu PowerPoint przy użyciu języka C#.

Interfejs API języka C# do pracy z kształtami programu PowerPoint

Aspose.Slides for .NET to C# API, które zostało zaprojektowane do pracy z prezentacjami PowerPoint z poziomu aplikacji .NET. Wraz z innymi funkcjami manipulacji prezentacją, interfejs API zapewnia łatwe sposoby pracy z kształtami na slajdach programu PowerPoint. Możesz pobrać API DLL lub zainstalować je przez NuGet.

Install-Package Aspose.Slides.NET

Kształty PowerPointa

Aspose.Slides dla platformy .NET obsługuje szeroką gamę typów kształtów, które można dodawać do slajdów programu PowerPoint. Do najczęściej używanych kształtów należą:

Dodaj kształt do slajdów programu PowerPoint za pomocą języka C#

W celu dodania kształtu np. elipsy, linii, prostokąta itp. Aspose.Slides udostępnia metodę IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). Wyliczenie ShapeType pozwala określić typ kształtu, który chcesz dodać. Poniżej przedstawiono kroki, aby dodać kształt do slajdu programu PowerPoint.

Poniższy przykładowy kod pokazuje, jak dodać kształt do slajdu programu PowerPoint przy użyciu języka C#.

// Utwórz wystąpienie obiektu Presentation reprezentującego plik prezentacji
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Pobierz pierwszy slajd
    ISlide sld = pres.Slides[0];

    // Dodaj autokształt typu elipsa
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

    // Zapisz prezentację
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Dodaj złącze, aby połączyć kształty programu PowerPoint w języku C#

Łącznik to linia, która służy do łączenia kształtów w celu ich połączenia. Łącznik może być linią prostą lub zakrzywioną. Zobaczmy, jak dodać łącznik między dwoma kształtami na slajdzie programu PowerPoint.

  1. Utwórz instancję klasy Presentation, aby utworzyć nową prezentację.
  2. Uzyskaj odniesienie do slajdu za pomocą Presentation.Slides[index] do obiektu ISlide.
  3. Dodaj dwa kształty, tak jak w poprzednim przykładzie, i uzyskaj ich odniesienia w obiektach IAutoShape.
  4. Utwórz nowy obiekt IConnector przy użyciu metody IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Połącz kształty za pomocą właściwości IConnector.StartShapeConnectedTo i IConnector.EndShapeConnectedTo.
  6. Wywołaj metodę IConnector.Reroute(), aby utworzyć najkrótszą automatyczną ścieżkę połączenia.
  7. Zapisz plik PPTX przy użyciu metody Presentation.Save(String, SaveFormat).

Poniższy przykładowy kod pokazuje, jak łączyć kształty na slajdzie programu PowerPoint przy użyciu języka C#.

// Utwórz wystąpienie obiektu Presentation reprezentującego plik prezentacji
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Dostęp do kolekcji kształtów dla wybranego slajdu
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Dodaj automatyczny kształt Elipsy
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Dodaj autokształt prostokąta
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Dodanie kształtu złącza do kolekcji kształtów slajdów
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Łączenie kształtów ze złączami
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Wywołaj przekierowanie, aby ustawić automatyczną najkrótszą ścieżkę między kształtami
    connector.Reroute();

    // Zapisz prezentację
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Klonowanie kształtów w slajdach programu PowerPoint przy użyciu języka C#

Możesz także klonować kształty z jednego slajdu PowerPoint do drugiego, używając Aspose.Slides for .NET. Poniżej przedstawiono kroki, aby wykonać tę operację.

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj odniesienie do slajdu za pomocą Presentation.Slides[index] do obiektu ISlide.
  3. Uzyskaj dostęp do źródłowych kształtów slajdów za pomocą kolekcji ISlide.Shapes.
  4. Uzyskaj dostęp do docelowych kształtów slajdów za pomocą kolekcji ISlide.Shapes.
  5. Klonuj kształty ze źródłowej kolekcji kształtów slajdów do slajdu docelowego za pomocą metody IShapeCollection.AddClone(ISlide).
  6. Zapisz zaktualizowany plik prezentacji.

Poniższy przykładowy kod pokazuje, jak klonować kształty w slajdach programu PowerPoint przy użyciu języka C#.

// Utwórz wystąpienie obiektu Presentation reprezentującego plik prezentacji
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Uzyskaj kolekcję kształtów ze slajdu źródłowego
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Pobierz kolekcję kształtów ze slajdu docelowego
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // Kształt klonu
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

    // Zapisz prezentację
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Usuń kształty ze slajdów programu PowerPoint za pomocą języka C#

Poniżej przedstawiono kroki, aby usunąć kształty ze slajdu programu PowerPoint.

  1. Utwórz instancję klasy Presentation, aby załadować plik PPTX.
  2. Uzyskaj dostęp do żądanego slajdu z Presentation.Slides[index] do obiektu ISlide.
  3. Znajdź kształt z określonym IShape.AlternativeText.
  4. Usuń kształt metodą ISlide.Shapes.Remove(IShape).
  5. Zapisz zaktualizowany plik prezentacji.

Poniższy przykładowy kod pokazuje, jak usunąć kształty ze slajdu programu PowerPoint przy użyciu języka C#.

// Utwórz wystąpienie obiektu Presentation reprezentującego plik prezentacji
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Pobierz pierwszy slajd
    ISlide sld = pres.Slides[0];

    // Dodaj autokształt typu prostokąt
    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++)
    {
        // Odzyskaj kształt
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // Usuń kształt
            sld.Shapes.Remove(ashp);
        }
    }

    // Zapisz prezentację
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Wniosek

MS PowerPoint umożliwia korzystanie z różnych typów kształtów, aby Twoje slajdy były bardziej rozbudowane. Możesz użyć elips, prostokątów, linii itp., aby narysować swoje kształty i złącza, aby je połączyć. Za pomocą kroków i przykładów kodu w tym artykule opisano, jak programowo dodawać, klonować i usuwać kształty na slajdach programu PowerPoint przy użyciu języka C#. Jeśli chcesz dowiedzieć się więcej o interfejsie API, odwiedź dokumentację.

Zobacz też