Shape

Shape class

Stellt ein Objekt in der Zeichenebene dar, z. B. eine AutoForm, ein Textfeld, eine Freiform, ein OLE-Objekt, ein ActiveX-Steuerelement oder ein Bild.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Formen Dokumentationsartikel.

public sealed class Shape : ShapeBase

Konstrukteure

NameBeschreibung
Shape(DocumentBaseShapeType)Erstellt ein neues Formobjekt.

Eigenschaften

NameBeschreibung
Adjustments { get; }Bietet Zugriff auf die Anpassungsrohwerte einer Form. Für eine Form, die keine Anpassungsrohwerte enthält, wird eine leere Sammlung zurückgegeben.
AllowOverlap { get; set; }Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob diese Form andere Formen überlappen kann.
AlternativeText { get; set; }Definiert alternativen Text, der anstelle einer Grafik angezeigt werden soll.
AnchorLocked { get; set; }Gibt an, ob der Anker der Form gesperrt ist.
AspectRatioLocked { get; set; }Gibt an, ob das Seitenverhältnis der Form gesperrt ist.
BehindText { get; set; }Gibt an, ob sich die Form unter oder über dem Text befindet.
Bottom { get; }Ruft die Position der Unterkante des umschließenden Blocks der Form ab.
Bounds { get; set; }Ruft die Position und Größe des umgebenden Blocks der Form ab oder legt diese fest.
BoundsInPoints { get; }Ruft die Position und Größe des umgebenden Blocks der Form in Punkten relativ zum Anker der obersten Form ab.
BoundsWithEffects { get; }Ruft die endgültige Ausdehnung dieses Formobjekts nach dem Anwenden von Zeicheneffekten ab. Der Wert wird in Punkten gemessen.
CanHaveImage { get; }RückgabenWAHR wenn der Formtyp es zulässt, dass die Form ein Bild enthält.
Chart { get; }Bietet Zugriff auf die Diagrammeigenschaften, wenn diese Form eineChart .
CoordOrigin { get; set; }Die Koordinaten in der oberen linken Ecke des umschließenden Blocks dieser Form.
CoordSize { get; set; }Die Breite und Höhe des Koordinatenraums innerhalb des umschließenden Blocks dieser Form.
Count { get; }Ruft die Anzahl der unmittelbar untergeordneten Elemente dieses Knotens ab.
CustomNodeId { get; set; }Gibt die benutzerdefinierte Knotenkennung an.
DistanceBottom { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und der Unterkante der Form zurück oder legt ihn fest.
DistanceLeft { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und dem linken Rand der Form zurück oder legt ihn fest.
DistanceRight { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und dem rechten Rand der Form zurück oder legt ihn fest.
DistanceTop { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und der Oberkante der Form zurück oder legt ihn fest.
virtual Document { get; }Ruft das Dokument ab, zu dem dieser Knoten gehört.
ExtrusionEnabled { get; }RückgabenWAHR wenn ein Extrusionseffekt aktiviert ist.
Fill { get; }Ruft die Füllformatierung für die Form ab.
FillColor { get; set; }Definiert die Pinselfarbe, die den geschlossenen Pfad der Form füllt.
Filled { get; set; }Bestimmt, ob der geschlossene Pfad der Form gefüllt wird.
FirstChild { get; }Ruft das erste untergeordnete Element des Knotens ab.
FirstParagraph { get; }Ruft den ersten Absatz in der Form ab.
FlipOrientation { get; set; }Ändert die Ausrichtung einer Form.
Font { get; }Bietet Zugriff auf die Schriftformatierung dieses Objekts.
Glow { get; }Ruft die Leuchtformatierung für die Form ab.
HasChart { get; }RückgabenWAHR wenn diesShape hat eineChart .
HasChildNodes { get; }RückgabenWAHR wenn dieser Knoten untergeordnete Knoten hat.
HasImage { get; }RückgabenWAHR wenn die Form Bildbytes enthält oder ein Bild verlinkt.
HasSmartArt { get; }RückgabenWAHR wenn diesShape hat ein SmartArt-Objekt.
Height { get; set; }Ruft die Höhe des umgebenden Blocks der Form ab oder legt sie fest.
HeightRelative { get; set; }Ruft den Wert ab oder legt ihn fest, der den Prozentsatz der relativen Höhe der Form darstellt.
Hidden { get; set; }Ruft einen booleschen Wert ab oder legt ihn fest, der angibt, ob die Form sichtbar ist.
HorizontalAlignment { get; set; }Gibt an, wie die Form horizontal positioniert wird.
HorizontalRuleFormat { get; }Bietet Zugriff auf die Eigenschaften der horizontalen Linienform. Gibt für eine Form, die keine horizontale Linie ist, Folgendes zurück:null .
HRef { get; set; }Ruft die vollständige Hyperlinkadresse für eine Form ab oder legt sie fest.
ImageData { get; }Bietet Zugriff auf das Bild der Form. Gibt zurücknull wenn die Form kein Bild enthalten kann.
override IsComposite { get; }RückgabenWAHR da dieser Knoten untergeordnete Knoten haben kann.
IsDecorative { get; set; }Ruft das Flag ab oder legt es fest, das angibt, ob die Form im Dokument dekorativ ist.
IsDeleteRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word gelöscht wurde, während die Änderungsverfolgung aktiviert war.
IsGroup { get; }RückgabenWAHR wenn dies eine Gruppenform ist.
IsHorizontalRule { get; }RückgabenWAHR wenn diese Form eine horizontale Linie ist.
IsImage { get; }RückgabenWAHR wenn diese Form eine Bildform ist.
IsInline { get; }Eine schnelle Möglichkeit, festzustellen, ob diese Form inline mit Text positioniert ist.
IsInsertRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word eingefügt wurde, während die Änderungsverfolgung aktiviert war.
IsLayoutInCell { get; set; }Ruft ein Flag ab oder legt es fest, das angibt, ob die Form innerhalb oder außerhalb einer Tabelle angezeigt wird.
IsMoveFromRevision { get; }RückgabenWAHR wenn dieses Objekt in Microsoft Word verschoben (gelöscht) wurde, während die Änderungsverfolgung aktiviert war.
IsMoveToRevision { get; }RückgabenWAHR wenn dieses Objekt in Microsoft Word verschoben (eingefügt) wurde, während die Änderungsverfolgung aktiviert war.
IsSignatureLine { get; }Gibt an, dass die Form eineSignatureLine .
IsTopLevel { get; }RückgabenWAHR wenn diese Form kein untergeordnetes Element einer Gruppenform ist.
IsWordArt { get; }RückgabenWAHR wenn diese Form ein WordArt-Objekt ist.
LastChild { get; }Ruft das letzte untergeordnete Element des Knotens ab.
LastParagraph { get; }Ruft den letzten Absatz in der Form ab.
Left { get; set; }Ruft die Position der linken Kante des umschließenden Blocks der Form ab oder legt sie fest.
LeftRelative { get; set; }Ruft den Wert ab oder legt ihn fest, der die relative linke Position der Form in Prozent darstellt.
MarkupLanguage { get; }Ruft die für dieses Grafikobjekt verwendete MarkupLanguage ab.
Name { get; set; }Ruft den optionalen Formnamen ab oder legt ihn fest.
NextSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
override NodeType { get; }RückgabenShape .
OleFormat { get; }Ermöglicht den Zugriff auf die OLE-Daten einer Form. Für eine Form, die kein OLE-Objekt oder ActiveX-Steuerelement ist, gibtnull .
ParentNode { get; }Ruft den unmittelbar übergeordneten Knoten dieses Knotens ab.
ParentParagraph { get; }Gibt den unmittelbar übergeordneten Absatz zurück.
PreviousSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar vorausgeht.
Range { get; }Gibt einenRangeObjekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist.
Reflection { get; }Ruft die Reflexionsformatierung für die Form ab.
RelativeHorizontalPosition { get; set; }Gibt an, relativ zu was die Form horizontal positioniert ist.
RelativeHorizontalSize { get; set; }Ruft den Wert der relativen Größe der Form in horizontaler Richtung ab oder legt ihn fest.
RelativeVerticalPosition { get; set; }Gibt an, relativ zu welcher vertikalen Position die Form positioniert ist.
RelativeVerticalSize { get; set; }Ruft den Wert der relativen Größe der Form in vertikaler Richtung ab oder legt ihn fest.
Right { get; }Ruft die Position der rechten Kante des umschließenden Blocks der Form ab.
Rotation { get; set; }Definiert den Winkel (in Grad), um den eine Form gedreht wird. Ein positiver Wert entspricht einem Drehwinkel im Uhrzeigersinn.
ScreenTip { get; set; }Definiert den Text, der angezeigt wird, wenn der Mauszeiger über die Form bewegt wird.
ShadowEnabled { get; }RückgabenWAHR wenn ein Schatteneffekt aktiviert ist.
ShadowFormat { get; }Ruft die Schattenformatierung für die Form ab.
ShapeType { get; }Ruft den Formtyp ab.
SignatureLine { get; }Ruft abSignatureLine Objekt, wenn die Form eine Signaturzeile ist. Gibt zurücknull andernfalls.
SizeInPoints { get; }Ruft die Größe der Form in Punkten ab.
SoftEdge { get; }Ruft eine weiche Kantenformatierung für die Form ab.
StoryType { get; }RückgabenTextbox .
Stroke { get; }Definiert einen Strich für eine Form.
StrokeColor { get; set; }Definiert die Farbe eines Strichs.
Stroked { get; set; }Definiert, ob der Pfad mit Strichen versehen wird.
StrokeWeight { get; set; }Definiert die Pinseldicke in Punkten, mit der der Pfad einer Form nachgezeichnet wird.
Target { get; set; }Ruft den Zielrahmen für den Form-Hyperlink ab oder legt ihn fest.
TextBox { get; }Definiert Attribute, die angeben, wie Text in einer Form angezeigt wird.
TextPath { get; }Definiert den Text des Textpfads (eines WordArt-Objekts).
Title { get; set; }Ruft den Titel (die Beschriftung) des aktuellen Formobjekts ab oder legt ihn fest.
Top { get; set; }Ruft die Position der oberen Kante des umschließenden Blocks der Form ab oder legt sie fest.
TopRelative { get; set; }Ruft den Wert ab oder legt ihn fest, der die relative obere Position der Form in Prozent darstellt.
VerticalAlignment { get; set; }Gibt an, wie die Form vertikal positioniert wird.
Width { get; set; }Ruft die Breite des umgebenden Blocks der Form ab oder legt sie fest.
WidthRelative { get; set; }Ruft den Wert ab oder legt ihn fest, der den Prozentsatz der relativen Breite der Form darstellt.
WrapSide { get; set; }Gibt an, wie der Text um die Form gewickelt wird.
WrapType { get; set; }Definiert, ob die Form eingebettet oder schwebend ist. Bei schwebenden Formen definiert dies den Umbruchmodus für Text um die Form.
ZOrder { get; set; }Bestimmt die Anzeigereihenfolge überlappender Formen.

Methoden

NameBeschreibung
override Accept(DocumentVisitor)Nimmt einen Besucher auf.
override AcceptEnd(DocumentVisitor)Akzeptiert einen Besucher für den Besuch des Endes der Form.
override AcceptStart(DocumentVisitor)Akzeptiert einen Besucher für den Besuch des Anfangs der Form.
AdjustWithEffects(RectangleF)Fügt den Quellrechteckwerten den Effektumfang hinzu und gibt das endgültige Rechteck zurück.
AppendChild<T>(T)Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu.
Clone(bool)Erstellt ein Duplikat des Knotens.
CreateNavigator()Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann.
GetAncestor(NodeType)Ruft den ersten Vorfahren des angegebenenNodeType .
GetAncestor(Type)Ruft den ersten Vorgänger des angegebenen Objekttyps ab.
GetChild(NodeType, int, bool)Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht.
GetChildNodes(NodeType, bool)Gibt eine Live-Sammlung von untergeordneten Knoten zurück, die dem angegebenen Typ entsprechen.
GetEnumerator()Bietet Unterstützung für die Iteration des For-Each-Stils über die untergeordneten Knoten dieses Knotens.
GetShapeRenderer()Erstellt und gibt ein Objekt zurück, mit dem diese Form in ein Bild gerendert werden kann.
override GetText()Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab.
IndexOf(Node)Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück.
InsertAfter<T>(T, Node)Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein.
InsertBefore<T>(T, Node)Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein.
LocalToParent(PointF)Konvertiert einen Wert aus dem lokalen Koordinatenraum in den Koordinatenraum der übergeordneten Form.
NextPreOrder(Node)Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
PrependChild<T>(T)Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu.
PreviousPreOrder(Node)Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
Remove()Entfernt sich selbst vom übergeordneten Element.
RemoveAllChildren()Entfernt alle untergeordneten Knoten des aktuellen Knotens.
RemoveChild<T>(T)Entfernt den angegebenen untergeordneten Knoten.
RemoveSmartTags()Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens.
SelectNodes(string)Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen.
SelectSingleNode(string)Wählt den erstenNode das dem XPath-Ausdruck entspricht.
ToString(SaveFormat)Exportiert den Inhalt des Knotens in eine Zeichenfolge im angegebenen Format.
ToString(SaveOptions)Exportiert den Inhalt des Knotens unter Verwendung der angegebenen Speicheroptionen in eine Zeichenfolge.
UpdateSmartArtDrawing()Aktualisiert die vorgerenderte SmartArt-Zeichnung mithilfe der SmartArt-Cold-Rendering-Engine von Aspose.Words.

Bemerkungen

Verwenden desShape Klasse können Sie Formen in einem Microsoft Word-Dokument erstellen oder ändern.

Eine wichtige Eigenschaft einer Form ist ihreShapeTypeFormen unterschiedlichen Typs können in einem Word-Dokument unterschiedliche Funktionen haben. Beispielsweise können nur Bild- und OLE-Formen Bilder enthalten. Die meisten Formen können Text enthalten, aber nicht alle.

Formen, die Text enthalten können, können enthaltenParagraph und Table Knoten als untergeordnete Knoten.

Beispiele

Zeigt, wie ein schwebendes Bild in die Mitte einer Seite eingefügt wird.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Fügen Sie ein schwebendes Bild ein, das hinter dem überlappenden Text angezeigt wird, und richten Sie es an der Seitenmitte aus.
Shape shape = builder.InsertImage(ImageDir + "Logo.jpg");
shape.WrapType = WrapType.None;
shape.BehindText = true;
shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
shape.RelativeVerticalPosition = RelativeVerticalPosition.Page;
shape.HorizontalAlignment = HorizontalAlignment.Center;
shape.VerticalAlignment = VerticalAlignment.Center;

doc.Save(ArtifactsDir + "Image.CreateFloatingPageCenter.docx");

Zeigt, wie Bilder aus einem Dokument extrahiert und als einzelne Dateien im lokalen Dateisystem gespeichert werden.

Document doc = new Document(MyDir + "Images.docx");

// Holen Sie sich die Sammlung von Formen aus dem Dokument,
// und speichere die Bilddaten jeder Form mit einem Bild als Datei im lokalen Dateisystem.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);

Assert.AreEqual(9, shapes.Count(s => ((Shape)s).HasImage));

int imageIndex = 0;
foreach (Shape shape in shapes.OfType<Shape>())
{
    if (shape.HasImage)
    {
            // Die Bilddaten von Formen können Bilder in vielen möglichen Bildformaten enthalten.
        // Wir können für jedes Bild automatisch eine Dateierweiterung basierend auf seinem Format bestimmen.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Zeigt, wie alle Formen aus einem Dokument gelöscht werden.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Fügen Sie zwei Formen zusammen mit einer Gruppenform mit einer anderen Form darin ein.
builder.InsertShape(ShapeType.Rectangle, 400, 200);
builder.InsertShape(ShapeType.Star, 300, 300);

GroupShape group = new GroupShape(doc);
group.Bounds = new RectangleF(100, 50, 200, 100);
group.CoordOrigin = new Point(-1000, -500);

Shape subShape = new Shape(doc, ShapeType.Cube);
subShape.Width = 500;
subShape.Height = 700;
subShape.Left = 0;
subShape.Top = 0;

group.AppendChild(subShape);
builder.InsertNode(group);

Assert.AreEqual(3, doc.GetChildNodes(NodeType.Shape, true).Count);
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);

// Alle Shape-Knoten aus dem Dokument entfernen.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Alle Formen sind verschwunden, aber die Gruppenform ist noch im Dokument.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Alle Gruppenformen einzeln entfernen.
NodeCollection groupShapes = doc.GetChildNodes(NodeType.GroupShape, true);
groupShapes.Clear();

Assert.AreEqual(0, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

Siehe auch