Shape
Shape class
Representa un objeto en la capa de dibujo, como una autoforma, un cuadro de texto, una forma libre, un objeto OLE, un control ActiveX o una imagen.
Para obtener más información, visite elTrabajando con formas Artículo de documentación.
public sealed class Shape : ShapeBase
Constructores
Nombre | Descripción |
---|---|
Shape(DocumentBase, ShapeType) | Crea un nuevo objeto de forma. |
Propiedades
Nombre | Descripción |
---|---|
Adjustments { get; } | Proporciona acceso a los valores brutos de ajuste de una forma. Para una forma que no contiene ningún valor bruto de ajuste, devuelve una colección vacía. |
AllowOverlap { get; set; } | Obtiene o establece un valor que especifica si esta forma puede superponerse a otras formas. |
AlternativeText { get; set; } | Define el texto alternativo que se mostrará en lugar de un gráfico. |
AnchorLocked { get; set; } | Especifica si el ancla de la forma está bloqueada. |
AspectRatioLocked { get; set; } | Especifica si la relación de aspecto de la forma está bloqueada. |
BehindText { get; set; } | Especifica si la forma está debajo o encima del texto. |
Bottom { get; } | Obtiene la posición del borde inferior del bloque contenedor de la forma. |
Bounds { get; set; } | Obtiene o establece la ubicación y el tamaño del bloque contenedor de la forma. |
BoundsInPoints { get; } | Obtiene la ubicación y el tamaño del bloque contenedor de la forma en puntos, en relación con el ancla de la forma superior. |
BoundsWithEffects { get; } | Obtiene la extensión final que tiene este objeto de forma después de aplicar efectos de dibujo. El valor se mide en puntos. |
CanHaveImage { get; } | Devuelveverdadero si el tipo de forma permite que la forma tenga una imagen. |
Chart { get; } | Proporciona acceso a las propiedades del gráfico si esta forma tiene unaChart . |
CoordOrigin { get; set; } | Las coordenadas en la esquina superior izquierda del bloque que contiene esta forma. |
CoordSize { get; set; } | El ancho y la altura del espacio de coordenadas dentro del bloque contenedor de esta forma. |
Count { get; } | Obtiene el número de hijos inmediatos de este nodo. |
CustomNodeId { get; set; } | Especifica un identificador de nodo personalizado. |
DistanceBottom { get; set; } | Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde inferior de la forma. |
DistanceLeft { get; set; } | Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde izquierdo de la forma. |
DistanceRight { get; set; } | Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde derecho de la forma. |
DistanceTop { get; set; } | Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde superior de la forma. |
virtual Document { get; } | Obtiene el documento al que pertenece este nodo. |
ExtrusionEnabled { get; } | Devuelveverdadero Si está habilitado un efecto de extrusión. |
Fill { get; } | Obtiene el formato de relleno para la forma. |
FillColor { get; set; } | Define el color del pincel que rellena la ruta cerrada de la forma. |
Filled { get; set; } | Determina si se rellenará la ruta cerrada de la forma. |
FirstChild { get; } | Obtiene el primer hijo del nodo. |
FirstParagraph { get; } | Obtiene el primer párrafo de la forma. |
FlipOrientation { get; set; } | Cambia la orientación de una forma. |
Font { get; } | Proporciona acceso al formato de fuente de este objeto. |
Glow { get; } | Obtiene formato de brillo para la forma. |
HasChart { get; } | Devuelveverdadero Si estoShape tiene unaChart . |
HasChildNodes { get; } | Devuelveverdadero si este nodo tiene nodos secundarios. |
HasImage { get; } | Devuelveverdadero si la forma tiene bytes de imagen o vincula una imagen. |
HasSmartArt { get; } | Devuelveverdadero Si estoShape tiene un objeto SmartArt. |
Height { get; set; } | Obtiene o establece la altura del bloque contenedor de la forma. |
HeightRelative { get; set; } | Obtiene o establece el valor que representa el porcentaje de la altura relativa de la forma. |
Hidden { get; set; } | Obtiene o establece un valor booleano que indica si la forma es visible. |
HorizontalAlignment { get; set; } | Especifica cómo se posiciona la forma horizontalmente. |
HorizontalRuleFormat { get; } | Proporciona acceso a las propiedades de la forma de la regla horizontal. Para una forma que no es una regla horizontal, devuelvenulo . |
HRef { get; set; } | Obtiene o establece la dirección de hipervínculo completa para una forma. |
ImageData { get; } | Proporciona acceso a la imagen de la forma. Devuelvenulo si la forma no puede tener una imagen. |
override IsComposite { get; } | Devuelveverdadero ya que este nodo puede tener nodos secundarios. |
IsDecorative { get; set; } | Obtiene o establece el indicador que especifica si la forma es decorativa en el documento. |
IsDeleteRevision { get; } | Devuelve verdadero si este objeto se eliminó en Microsoft Word mientras el seguimiento de cambios estaba habilitado. |
IsGroup { get; } | Devuelveverdadero si esta es una forma de grupo. |
IsHorizontalRule { get; } | Devuelveverdadero Si esta forma es una regla horizontal. |
IsImage { get; } | Devuelveverdadero Si esta forma es una forma de imagen. |
IsInline { get; } | Una forma rápida de determinar si esta forma está posicionada en línea con el texto. |
IsInsertRevision { get; } | Devuelve verdadero si este objeto se insertó en Microsoft Word mientras el seguimiento de cambios estaba habilitado. |
IsLayoutInCell { get; set; } | Obtiene o establece un indicador que indica si la forma se muestra dentro de una tabla o fuera de ella. |
IsMoveFromRevision { get; } | Devuelveverdadero Si este objeto se movió (eliminó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado. |
IsMoveToRevision { get; } | Devuelveverdadero Si este objeto se movió (insertó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado. |
IsSignatureLine { get; } | Indica que la forma es unaSignatureLine . |
IsTopLevel { get; } | Devuelveverdadero si esta forma no es hija de un grupo shape. |
IsWordArt { get; } | Devuelveverdadero si esta forma es un objeto de WordArt. |
LastChild { get; } | Obtiene el último hijo del nodo. |
LastParagraph { get; } | Obtiene el último párrafo de la forma. |
Left { get; set; } | Obtiene o establece la posición del borde izquierdo del bloque contenedor de la forma. |
LeftRelative { get; set; } | Obtiene o establece el valor que representa la posición izquierda relativa de la forma en porcentaje. |
MarkupLanguage { get; } | Obtiene el lenguaje de marcado utilizado para este objeto gráfico. |
Name { get; set; } | Obtiene o establece el nombre de forma opcional. |
NextSibling { get; } | Obtiene el nodo inmediatamente siguiente a este nodo. |
override NodeType { get; } | DevuelveShape . |
OleFormat { get; } | Proporciona acceso a los datos OLE de una forma. Para una forma que no sea un objeto OLE ni un control ActiveX, devuelvenulo . |
ParentNode { get; } | Obtiene el padre inmediato de este nodo. |
ParentParagraph { get; } | Devuelve el párrafo padre inmediato. |
PreviousSibling { get; } | Obtiene el nodo inmediatamente anterior a este nodo. |
Range { get; } | Devuelve unRange objeto que representa la porción de un documento que está contenida en este nodo. |
Reflection { get; } | Obtiene el formato de reflexión para la forma. |
RelativeHorizontalPosition { get; set; } | Especifica en relación con qué posición horizontal está la forma. |
RelativeHorizontalSize { get; set; } | Obtiene o establece el valor del tamaño relativo de la forma en dirección horizontal. |
RelativeVerticalPosition { get; set; } | Especifica en relación con qué posición vertical se encuentra la forma. |
RelativeVerticalSize { get; set; } | Obtiene o establece el valor del tamaño relativo de la forma en dirección vertical. |
Right { get; } | Obtiene la posición del borde derecho del bloque contenedor de la forma. |
Rotation { get; set; } | Define el ángulo (en grados) en que se gira una forma. El valor positivo corresponde al ángulo de rotación en el sentido de las agujas del reloj. |
ScreenTip { get; set; } | Define el texto que se muestra cuando el puntero del mouse se mueve sobre la forma. |
ShadowEnabled { get; } | Devuelveverdadero Si está habilitado un efecto de sombra. |
ShadowFormat { get; } | Obtiene el formato de sombra para la forma. |
ShapeType { get; } | Obtiene el tipo de forma. |
SignatureLine { get; } | ObtieneSignatureLine objeto si la forma es una línea de firma. Devuelvenulo de lo contrario. |
SizeInPoints { get; } | Obtiene el tamaño de la forma en puntos. |
SoftEdge { get; } | Obtiene formato de borde suave para la forma. |
StoryType { get; } | DevuelveTextbox . |
Stroke { get; } | Define un trazo para una forma. |
StrokeColor { get; set; } | Define el color de un trazo. |
Stroked { get; set; } | Define si se trazará un trazo. |
StrokeWeight { get; set; } | Define el grosor del pincel que traza la ruta de una forma en puntos. |
Target { get; set; } | Obtiene o establece el marco de destino para el hipervínculo de forma. |
TextBox { get; } | Define atributos que especifican cómo se muestra el texto en una forma. |
TextPath { get; } | Define el texto de la ruta de texto (de un objeto WordArt). |
Title { get; set; } | Obtiene o establece el título (caption) del objeto de forma actual. |
Top { get; set; } | Obtiene o establece la posición del borde superior del bloque contenedor de la forma. |
TopRelative { get; set; } | Obtiene o establece el valor que representa la posición superior relativa de la forma en porcentaje. |
VerticalAlignment { get; set; } | Especifica cómo se posiciona la forma verticalmente. |
Width { get; set; } | Obtiene o establece el ancho del bloque contenedor de la forma. |
WidthRelative { get; set; } | Obtiene o establece el valor que representa el porcentaje del ancho relativo de la forma. |
WrapSide { get; set; } | Especifica cómo se ajusta el texto alrededor de la forma. |
WrapType { get; set; } | Define si la forma es en línea o flotante. Para las formas flotantes, define el modo de ajuste del texto alrededor de la forma. |
ZOrder { get; set; } | Determina el orden de visualización de las formas superpuestas. |
Métodos
Nombre | Descripción |
---|---|
override Accept(DocumentVisitor) | Acepta un visitante. |
override AcceptEnd(DocumentVisitor) | Acepta un visitante por visitar el final de la forma. |
override AcceptStart(DocumentVisitor) | Acepta un visitante por visitar el inicio de la forma. |
AdjustWithEffects(RectangleF) | Agrega al rectángulo de origen los valores de la extensión del efecto y devuelve el rectángulo final. |
AppendChild<T>(T) | Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo. |
Clone(bool) | Crea un duplicado del nodo. |
CreateNavigator() | Crea un navegador que puede utilizarse para recorrer y leer nodos. |
GetAncestor(NodeType) | Obtiene el primer ancestro del especificadoNodeType . |
GetAncestor(Type) | Obtiene el primer ancestro del tipo de objeto especificado. |
GetChild(NodeType, int, bool) | Devuelve un nodo secundario N que coincide con el tipo especificado. |
GetChildNodes(NodeType, bool) | Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado. |
GetEnumerator() | Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo. |
GetShapeRenderer() | Crea y devuelve un objeto que puede usarse para representar esta forma en una imagen. |
override GetText() | Obtiene el texto de este nodo y de todos sus hijos. |
IndexOf(Node) | Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios. |
InsertAfter<T>(T, Node) | Inserta el nodo especificado inmediatamente después del nodo de referencia especificado. |
InsertBefore<T>(T, Node) | Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado. |
LocalToParent(PointF) | Convierte un valor del espacio de coordenadas local al espacio de coordenadas de la forma principal. |
NextPreOrder(Node) | Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden. |
PrependChild<T>(T) | Agrega el nodo especificado al comienzo de la lista de nodos secundarios para este nodo. |
PreviousPreOrder(Node) | Obtiene el nodo anterior según el algoritmo de recorrido del árbol de preorden. |
Remove() | Se elimina a sí mismo del padre. |
RemoveAllChildren() | Elimina todos los nodos secundarios del nodo actual. |
RemoveChild<T>(T) | Elimina el nodo secundario especificado. |
RemoveSmartTags() | Elimina todoSmartTag nodos descendientes del nodo actual. |
SelectNodes(string) | Selecciona una lista de nodos que coinciden con la expresión XPath. |
SelectSingleNode(string) | Selecciona el primerNode que coincide con la expresión XPath. |
ToString(SaveFormat) | Exporta el contenido del nodo en una cadena en el formato especificado. |
ToString(SaveOptions) | Exporta el contenido del nodo en una cadena utilizando las opciones de guardado especificadas. |
UpdateSmartArtDrawing() | Actualiza el dibujo pre-renderizado de SmartArt mediante el motor de renderizado en frío de SmartArt de Aspose.Words. |
Observaciones
Usando elShape
Clase que permite crear o modificar formas en un documento de Microsoft Word.
Una propiedad importante de una forma es suShapeType
Las formas de diferentes tipos pueden tener distintas funciones en un documento de Word. Por ejemplo, solo las formas de imagen y OLE pueden contener imágenes. La mayoría de las formas pueden contener texto, pero no todas.
Las formas que pueden tener texto pueden contenerParagraph
y Table
nodos como hijos.
Ejemplos
Muestra cómo insertar una imagen flotante en el centro de una página.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserta una imagen flotante que aparecerá detrás del texto superpuesto y la alinea con el centro de la página.
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");
Muestra cómo extraer imágenes de un documento y guardarlas en el sistema de archivos local como archivos individuales.
Document doc = new Document(MyDir + "Images.docx");
// Obtener la colección de formas del documento,
// y guarde los datos de imagen de cada forma con una imagen como un archivo en el sistema de archivos local.
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)
{
// Los datos de imagen de las formas pueden contener imágenes de muchos formatos de imagen posibles.
//Podemos determinar automáticamente una extensión de archivo para cada imagen, en función de su formato.
string imageFileName =
$"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
shape.ImageData.Save(ArtifactsDir + imageFileName);
imageIndex++;
}
}
Muestra cómo eliminar todas las formas de un documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserta dos formas junto con una forma de grupo con otra forma dentro de ella.
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);
//Elimina todos los nodos de forma del documento.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();
//Todas las formas han desaparecido, pero la forma del grupo todavía está en el documento.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);
//Elimina todas las formas del grupo por separado.
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);
Ver también
- class ShapeBase
- espacio de nombres Aspose.Words.Drawing
- asamblea Aspose.Words