Arbeta med former i Slides i C#.jpg

Former är ett bra sätt att göra dina PowerPoint-presentationer mer utvecklande och tilltalande. PowerPoint tillhandahåller ett brett utbud av former som du kan lägga till dina presentationsbilder, t.ex. ellipser, linjer, rektanglar, kontakter och så vidare. För att automatisera den här funktionen tar den här artikeln upp hur man lägger till, klonar och tar bort former i PowerPoint-bilder programmatiskt med C#.

C# API för att arbeta med PowerPoint-former

Aspose.Slides for .NET är ett C# API som är designat för att fungera med PowerPoint-presentationer från .NET-applikationerna. Tillsammans med andra funktioner för presentationsmanipulering ger API:et enkla sätt att arbeta med former i PowerPoint-bilder. Du kan antingen ladda ner API:s DLL eller installera den via NuGet.

Install-Package Aspose.Slides.NET

PowerPoint-former

Aspose.Slides för .NET stöder ett brett utbud av formtyper som du kan lägga till i PowerPoint-bilder. De vanligaste formerna inkluderar:

Lägg till en form i PowerPoint-bilder med C#

För att lägga till en form, dvs ellips, linje, rektangel, etc., tillhandahåller Aspose.Slides metoden IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). Uppräkningen ShapeType låter dig ange vilken typ av form du vill lägga till. Följande är stegen för att lägga till en form till en PowerPoint-bild.

Följande kodexempel visar hur man lägger till en form i en PowerPoint-bild med C#.

// Instantiera ett presentationsobjekt som representerar en presentationsfil
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Få den första bilden
    ISlide sld = pres.Slides[0];

    // Lägg till autoform av ellipstyp
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

    // Spara presentationen
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Lägg till Connector för att ansluta PowerPoint-former i C#

En koppling är en linje som används för att koppla samman former för att förena dem. En koppling kan vara en rak eller en krökt linje. Låt oss se hur du lägger till en koppling mellan två former i en PowerPoint-bild.

  1. Skapa en instans av klassen Presentation för att skapa en ny presentation.
  2. Skaffa referensen till en bild med hjälp av Presentation.Slides[index] till objektet ISlide.
  3. Lägg till två former precis som du har lagt till i föregående exempel och få deras referenser i IAutoShape-objekt.
  4. Skapa ett nytt IConnector-objekt med metoden IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Sammanfoga formerna med hjälp av egenskaperna IConnector.StartShapeConnectedTo och IConnector.EndShapeConnectedTo.
  6. Anropa metoden IConnector.Reroute() för att skapa den kortaste automatiska anslutningsvägen.
  7. Spara PPTX-filen med metoden Presentation.Save(String, SaveFormat).

Följande kodexempel visar hur man ansluter former i en PowerPoint-bild med C#.

// Instantiera ett presentationsobjekt som representerar en presentationsfil
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Få åtkomst till formsamlingen för den valda bilden
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Lägg till autoshape Ellipse
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Lägg till autoform rektangel
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Lägger till kopplingsform för att samla in objektglasform
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Sammanfoga former till kontakter
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Ring omdirigering för att ställa in den automatiska kortaste vägen mellan former
    connector.Reroute();

    // Spara presentationen
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Klona former i PowerPoint-bilder med C#

Du kan också klona former från en PowerPoint-bild till en annan med Aspose.Slides för .NET. Följande är stegen för att utföra denna operation.

  1. Skapa en instans av klassen Presentation.
  2. Få referensen till en bild med Presentation.Slides[index] in i ISlide-objektet.
  3. Få åtkomst till källbildsformerna med ISlide.Shapes-samlingen.
  4. Få tillgång till målbildsformerna med ISlide.Shapes-samlingen.
  5. Klona former från källbildsformsamlingen till målbilden med metoden IShapeCollection.AddClone(ISlide).
  6. Spara den uppdaterade presentationsfilen.

Följande kodexempel visar hur man klona former i PowerPoint-bilder med C#.

// Instantiera ett presentationsobjekt som representerar en presentationsfil
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Skaffa formsamling från källbilden
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Få formsamling från destinationsbilden
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // Klonform
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

    // Spara presentationen
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Ta bort former från PowerPoint-bilder med C#

Följande är stegen för att ta bort former från en PowerPoint-bild.

  1. Skapa en instans av klassen Presentation för att ladda PPTX-filen.
  2. Gå till önskad bild från Presentation.Slides[index] till objektet ISlide.
  3. Hitta formen med en specifik IShape.AlternativeText.
  4. Ta bort formen med metoden ISlide.Shapes.Remove(IShape).
  5. Spara den uppdaterade presentationsfilen.

Följande kodexempel visar hur du tar bort former från en PowerPoint-bild med C#.

// Instantiera ett presentationsobjekt som representerar en presentationsfil
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Få den första bilden
    ISlide sld = pres.Slides[0];

    // Lägg till autoform av rektangeltyp
    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++)
    {
        // Hämta form
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // Ta bort formen
            sld.Shapes.Remove(ashp);
        }
    }

    // Spara presentationen
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Slutsats

MS PowerPoint låter dig använda olika typer av former för att göra dina bilder mer utvecklande. Du kan använda ellipser, rektanglar, linjer etc. för att rita dina former och kopplingar för att sammanfoga dem. Med hjälp av steg och kodexempel behandlade den här artikeln hur man lägger till, klonar och tar bort former i PowerPoint-bilder programmatiskt med C#. Om du vill utforska mer om API:t kan du besöka dokumentationen.

Se även