Shape

Shape class

Representerar ett objekt i ritlagret, till exempel en autofigur, textruta, frihandsformat, OLE-objekt, ActiveX-kontroll eller bild.

För att lära dig mer, besökArbeta med former dokumentationsartikel.

public sealed class Shape : ShapeBase

Konstruktörer

namnBeskrivning
Shape(DocumentBaseShapeType)Skapar ett nytt formobjekt.

Egenskaper

namnBeskrivning
Adjustments { get; }Ger åtkomst till justeringsrådvärdena för en form. För en form som inte innehåller några justeringsrådvärden returnerar den en tom samling.
AllowOverlap { get; set; }Hämtar eller anger ett värde som anger om denna form kan överlappa andra former.
AlternativeText { get; set; }Definierar alternativ text som ska visas istället för grafik.
AnchorLocked { get; set; }Anger om formens ankare är låst.
AspectRatioLocked { get; set; }Anger om formens bildförhållande är låst.
BehindText { get; set; }Anger om formen är under eller ovanför texten.
Bottom { get; }Hämtar positionen för den nedre kanten av det block som innehåller formen.
Bounds { get; set; }Hämtar eller anger plats och storlek för det block som innehåller formen.
BoundsInPoints { get; }Hämtar platsen och storleken på det block som innehåller formen i punkter, i förhållande till ankaret för den översta formen.
BoundsWithEffects { get; }Hämtar den slutliga utsträckningen som detta formobjekt har efter att riteffekter har tillämpats. Värdet mäts i punkter.
CanHaveImage { get; }Returersann om formtypen tillåter att formen har en bild.
Chart { get; }Ger åtkomst till diagrammets egenskaper om den här formen har enChart .
CoordOrigin { get; set; }Koordinaterna i det övre vänstra hörnet av det block som innehåller den här formen.
CoordSize { get; set; }Bredden och höjden på koordinatutrymmet inuti det block som innehåller den här formen.
Count { get; }Hämtar antalet omedelbara barn till denna nod.
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
DistanceBottom { get; set; }Returnerar eller anger avståndet (i punkter) mellan dokumenttexten och formens nedre kant.
DistanceLeft { get; set; }Returnerar eller anger avståndet (i punkter) mellan dokumenttexten och formens vänstra kant.
DistanceRight { get; set; }Returnerar eller anger avståndet (i punkter) mellan dokumenttexten och formens högra kant.
DistanceTop { get; set; }Returnerar eller anger avståndet (i punkter) mellan dokumenttexten och formens övre kant.
virtual Document { get; }Hämtar dokumentet som denna nod tillhör.
ExtrusionEnabled { get; }Returersann om en extruderingseffekt är aktiverad.
Fill { get; }Hämtar fyllningsformatering för formen.
FillColor { get; set; }Definierar penselfärgen som fyller formens slutna bana.
Filled { get; set; }Avgör om den stängda banan för formen ska fyllas.
FirstChild { get; }Hämtar nodens första barn.
FirstParagraph { get; }Hämtar det första stycket i formen.
FlipOrientation { get; set; }Växlar orienteringen på en form.
Font { get; }Ger åtkomst till teckensnittsformateringen för detta objekt.
Glow { get; }Hämtar glödformatering för formen.
HasChart { get; }Returersann om dettaShape har enChart .
HasChildNodes { get; }Returersann om den här noden har några undernoder.
HasImage { get; }Returersann om formen har bildbyte eller länkar en bild.
HasSmartArt { get; }Returersann om dettaShape har ett SmartArt-objekt.
Height { get; set; }Hämtar eller ställer in höjden på det block som innehåller formen.
HeightRelative { get; set; }Hämtar eller ställer in värdet som representerar procentandelen av formens relativa höjd.
Hidden { get; set; }Hämtar eller ställer in ett booleskt värde som anger om formen är synlig.
HorizontalAlignment { get; set; }Anger hur formen placeras horisontellt.
HorizontalRuleFormat { get; }Ger åtkomst till egenskaperna för den horisontella regelformen. För en form som inte är en horisontell regel returnerasnull .
HRef { get; set; }Hämtar eller anger den fullständiga hyperlänkadressen för en form.
ImageData { get; }Ger åtkomst till bilden av formen. Returnerarnull om formen inte kan ha en bild.
override IsComposite { get; }Returersann eftersom denna nod kan ha underordnade noder.
IsDecorative { get; set; }Hämtar eller ställer in flaggan som anger om formen är dekorativ i dokumentet.
IsDeleteRevision { get; }Returnerar sant om det här objektet togs bort i Microsoft Word medan ändringsspårning var aktiverad.
IsGroup { get; }Returersann om detta är en gruppform.
IsHorizontalRule { get; }Returersann om denna form är en horisontell linje.
IsImage { get; }Returersann om den här formen är en bildform.
IsInline { get; }Ett snabbt sätt att avgöra om den här formen är placerad i linje med texten.
IsInsertRevision { get; }Returnerar sant om det här objektet infogades i Microsoft Word medan ändringsspårning var aktiverad.
IsLayoutInCell { get; set; }Hämtar eller anger en flagga som anger om formen visas inuti en tabell eller utanför den.
IsMoveFromRevision { get; }Returersann om det här objektet flyttades (raderades) i Microsoft Word medan ändringsspårning var aktiverad.
IsMoveToRevision { get; }Returersann om det här objektet flyttades (infogades) i Microsoft Word medan ändringsspårning var aktiverad.
IsSignatureLine { get; }Indikerar att formen är enSignatureLine .
IsTopLevel { get; }Returersann om den här formen inte är underordnad en gruppform.
IsWordArt { get; }Returersann om den här formen är ett WordArt-objekt.
LastChild { get; }Hämtar nodens sista barn.
LastParagraph { get; }Hämtar det sista stycket i formen.
Left { get; set; }Hämtar eller anger positionen för den vänstra kanten av det block som formen innehåller.
LeftRelative { get; set; }Hämtar eller ställer in värdet som representerar formens relativa vänstra position i procent.
MarkupLanguage { get; }Hämtar MarkupLanguage som används för detta grafikobjekt.
Name { get; set; }Hämtar eller anger det valfria formnamnet.
NextSibling { get; }Hämtar noden som följer direkt efter denna nod.
override NodeType { get; }ReturerShape .
OleFormat { get; }Ger åtkomst till OLE-data för en form. För en form som inte är ett OLE-objekt eller en ActiveX-kontroll returnerasnull .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
ParentParagraph { get; }Returnerar det omedelbara överordnade stycket.
PreviousSibling { get; }Hämtar noden som omedelbart föregår denna nod.
Range { get; }Returnerar enRangeobjekt som representerar den del av ett dokument som finns i denna nod.
Reflection { get; }Hämtar reflektionsformatering för formen.
RelativeHorizontalPosition { get; set; }Anger i förhållande till vad formen är placerad horisontellt.
RelativeHorizontalSize { get; set; }Hämtar eller ställer in värdet för formens relativa storlek i horisontell riktning.
RelativeVerticalPosition { get; set; }Anger i förhållande till vad formen är placerad vertikalt.
RelativeVerticalSize { get; set; }Hämtar eller ställer in värdet för formens relativa storlek i vertikal riktning.
Right { get; }Hämtar positionen för den högra kanten av det block som innehåller formen.
Rotation { get; set; }Definierar vinkeln (i grader) som en form roteras med. Positivt värde motsvarar medurs rotationsvinkel.
ScreenTip { get; set; }Definierar texten som visas när muspekaren flyttas över formen.
ShadowEnabled { get; }Returersann om en skuggeffekt är aktiverad.
ShadowFormat { get; }Hämtar skuggformatering för formen.
ShapeType { get; }Hämtar formtypen.
SignatureLine { get; }FårSignatureLine objekt om formen är en signaturrad. Returnerarnull annars.
SizeInPoints { get; }Hämtar formens storlek i punkter.
SoftEdge { get; }Hämtar mjuka kanter för formen.
StoryType { get; }ReturerTextbox .
Stroke { get; }Definierar ett streck för en form.
StrokeColor { get; set; }Definierar färgen på ett streck.
Stroked { get; set; }Definierar om banan ska vara linjerad.
StrokeWeight { get; set; }Definierar penselns tjocklek som stryker längs en forms bana i punkter.
Target { get; set; }Hämtar eller ställer in målramen för formens hyperlänk.
TextBox { get; }Definierar attribut som anger hur text visas i en form.
TextPath { get; }Definierar texten i textbanan (för ett WordArt-objekt).
Title { get; set; }Hämtar eller anger titeln (bildtexten) för det aktuella formobjektet.
Top { get; set; }Hämtar eller anger positionen för den övre kanten av det block som formen innehåller.
TopRelative { get; set; }Hämtar eller ställer in värdet som representerar formens relativa toppposition i procent.
VerticalAlignment { get; set; }Anger hur formen placeras vertikalt.
Width { get; set; }Hämtar eller ställer in bredden på det block som innehåller formen.
WidthRelative { get; set; }Hämtar eller ställer in värdet som representerar procentandelen av formens relativa bredd.
WrapSide { get; set; }Anger hur texten radbryts runt formen.
WrapType { get; set; }Definierar om formen är inbäddad eller flytande. För flytande former definieras radbrytningsläget för text runt formen.
ZOrder { get; set; }Bestämmer visningsordningen för överlappande former.

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Tar emot en besökare.
override AcceptEnd(DocumentVisitor)Accepterar en besökare för att besöka slutet av formen.
override AcceptStart(DocumentVisitor)Accepterar en besökare för att besöka början av formen.
AdjustWithEffects(RectangleF)Lägger till värdena för effektens omfattning i källrektangeln och returnerar den slutliga rektangeln.
AppendChild<T>(T)Lägger till den angivna noden i slutet av listan över underordnade noder för denna nod.
Clone(bool)Skapar en duplikat av noden.
CreateNavigator()Skapar en navigator som kan användas för att korsa och läsa noder.
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
GetChild(NodeType, int, bool)Returnerar en N:te underordnad nod som matchar den angivna typen.
GetChildNodes(NodeType, bool)Returnerar en live-samling av underordnade noder som matchar den angivna typen.
GetEnumerator()Ger stöd för iterationen för varje stil över de underordnade noderna till denna nod.
GetShapeRenderer()Skapar och returnerar ett objekt som kan användas för att rendera denna form till en bild.
override GetText()Hämtar texten för denna nod och alla dess underordnade noder.
IndexOf(Node)Returnerar indexet för den angivna undernoden i undernodsmatrisen.
InsertAfter<T>(T, Node)Infogar den angivna noden omedelbart efter den angivna referensnoden.
InsertBefore<T>(T, Node)Infogar den angivna noden omedelbart före den angivna referensnoden.
LocalToParent(PointF)Konverterar ett värde från det lokala koordinatrummet till koordinatrummet för den överordnade formen.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdtraversering.
PrependChild<T>(T)Lägger till den angivna noden i början av listan över underordnade noder för denna nod.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för trädtraversering i förbeställning.
Remove()Tar bort sig själv från föräldern.
RemoveAllChildren()Tar bort alla undernoder till den aktuella noden.
RemoveChild<T>(T)Tar bort den angivna undernoden.
RemoveSmartTags()Tar bort allaSmartTag underordnade noder till den aktuella noden.
SelectNodes(string)Väljer en lista med noder som matchar XPath-uttrycket.
SelectSingleNode(string)Väljer den förstaNode som matchar XPath-uttrycket.
ToString(SaveFormat)Exporterar nodens innehåll till en sträng i det angivna formatet.
ToString(SaveOptions)Exporterar nodens innehåll till en sträng med de angivna sparalternativen.
UpdateSmartArtDrawing()Uppdaterar SmartArt-förrenderade teckningar med hjälp av Aspose.Words SmartArt-kallrenderingsmotor.

Anmärkningar

AnvändaShape I klassen kan du skapa eller ändra former i ett Microsoft Word-dokument.

En viktig egenskap hos en form är dessShapeTypeFormer av olika typer av kan ha olika funktioner i ett Word-dokument. Till exempel kan endast bild- och OLE-former innehålla bilder. De flesta former kan innehålla text, men inte alla.

Former som kan ha text, kan innehållaParagraph och Table noder som barn.

Exempel

Visar hur man infogar en flytande bild i mitten av en sida.

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

// Infoga en flytande bild som visas bakom den överlappande texten och justera den mot sidans mitt.
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");

Visar hur man extraherar bilder från ett dokument och sparar dem i det lokala filsystemet som enskilda filer.

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

// Hämta samlingen av former från dokumentet,
// och spara bilddata för varje form med en bild som en fil till det lokala filsystemet.
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)
    {
         // Bilddata för former kan innehålla bilder i många möjliga bildformat.
        // Vi kan automatiskt bestämma filändelsen för varje bild, baserat på dess format.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Visar hur man tar bort alla former från ett dokument.

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

// Infoga två former tillsammans med en gruppform med en annan form inuti.
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);

// Ta bort alla formnoder från dokumentet.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Alla former är borta, men gruppformen finns fortfarande kvar i dokumentet.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Ta bort alla gruppformer separat.
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);

Se även