Ändern der Füllfarbe einer Form in einer Präsentation

OpenXML-Präsentation


 string FilePath = @"..\..\..\..\Sample Files\";

string FileName = FilePath + "Füllfarbe einer Form.pptx";

SetPPTShapeColor(FileName);

// Ändern der Füllfarbe einer Form.

// Die Testdatei muss eine ausgefüllte Form als erste Form auf der ersten Folie haben.

public static void SetPPTShapeColor(string docName)

{

    using (PresentationDocument ppt = PresentationDocument.Open(docName, true))

    {

        // Erhalten Sie die Beziehung-ID der ersten Folie.

        PresentationPart part = ppt.PresentationPart;

        OpenXmlElementList slideIds = part.Presentation.SlideIdList.ChildElements;

        string relId = (slideIds[0] as SlideId).RelationshipId;

        // Holen Sie sich das Folienpart aus der Beziehung-ID.

        SlidePart slide = (SlidePart)part.GetPartById(relId);

        if (slide != null)

        {

            // Holen Sie sich den Formbaum, der die zu ändernde Form enthält.

            ShapeTree tree = slide.Slide.CommonSlideData.ShapeTree;

            // Holen Sie sich die erste Form im Formbaum.

            Shape shape = tree.GetFirstChild<Shape>();

            if (shape != null)

            {

                // Holen Sie sich den Stil der Form.

                ShapeStyle style = shape.ShapeStyle;

                // Holen Sie sich die Füllreferenz.

                Drawing.FillReference fillRef = style.FillReference;

                // Setzen Sie die Füllfarbe auf SchemeColor Accent 6;

                fillRef.SchemeColor = new Drawing.SchemeColor();

                fillRef.SchemeColor.Val = Drawing.SchemeColorValues.Accent6;

                // Speichern Sie die modifizierte Folie.

                slide.Slide.Save();

            }

        }

    }

}

Aspose.Slides

Wir müssen die folgenden Schritte ausführen, um die Formen in der Präsentation zu füllen:

  • Erstellen Sie eine Instanz der Präsentationsklasse.
  • Erhalten Sie die Referenz einer Folie, indem Sie deren Index verwenden.
  • Fügen Sie eine IShape zur Folie hinzu.
  • Setzen Sie den Fülltyp der Form auf Solid.
  • Setzen Sie die Farbe der Form.
  • Schreiben Sie die modifizierte Präsentation als PPTX-Datei.

 string FilePath = @"..\..\..\..\Sample Files\";

string FileName = FilePath + "Füllfarbe einer Form.pptx";

//Instanziieren Sie die PrseetationEx-Klasse, die das PPTX repräsentiert

using (Presentation pres = new Presentation())

{

    //Holen Sie sich die erste Folie

    ISlide sld = pres.Slides[0];

    //Fügen Sie eine Autoshape vom Rechtecktyp hinzu

    IShape shp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);

    //Setzen Sie den Fülltyp auf Solid

    shp.FillFormat.FillType = FillType.Solid;

    //Setzen Sie die Farbe des Rechtecks

    shp.FillFormat.SolidFillColor.Color = Color.Yellow;

    //Schreiben Sie die PPTX-Datei auf die Festplatte

    pres.Save(FileName, SaveFormat.Pptx);

}

Download Beispiellaufcode

Beispielcode