Shape

Shape class

Rappresenta un oggetto nel livello di disegno, ad esempio una forma automatica, una casella di testo, un oggetto libero, un oggetto OLE, un controllo ActiveX o un’immagine.

Per saperne di più, visita ilLavorare con le forme articolo di documentazione.

public sealed class Shape : ShapeBase

Costruttori

NomeDescrizione
Shape(DocumentBaseShapeType)Crea un nuovo oggetto forma.

Proprietà

NomeDescrizione
Adjustments { get; }Fornisce l’accesso ai valori grezzi di regolazione di una forma. Per una forma che non contiene valori grezzi di regolazione, restituisce una raccolta vuota.
AllowOverlap { get; set; }Ottiene o imposta un valore che specifica se questa forma può sovrapporsi ad altre forme.
AlternativeText { get; set; }Definisce il testo alternativo da visualizzare al posto di un’immagine.
AnchorLocked { get; set; }Specifica se l’ancoraggio della forma è bloccato.
AspectRatioLocked { get; set; }Specifica se le proporzioni della forma sono bloccate.
BehindText { get; set; }Specifica se la forma si trova sotto o sopra il testo.
Bottom { get; }Ottiene la posizione del bordo inferiore del blocco contenitore della forma.
Bounds { get; set; }Ottiene o imposta la posizione e la dimensione del blocco contenitore della forma.
BoundsInPoints { get; }Ottiene la posizione e la dimensione del blocco contenitore della forma in punti, rispetto all’ancoraggio della forma più in alto.
BoundsWithEffects { get; }Ottiene l’estensione finale di questo oggetto forma dopo l’applicazione degli effetti di disegno. Il valore è misurato in punti.
CanHaveImage { get; }RestituisceVERO se il tipo di forma consente alla forma di avere un’immagine.
Chart { get; }Fornisce l’accesso alle proprietà del grafico se questa forma ha unChart .
CoordOrigin { get; set; }Le coordinate nell’angolo in alto a sinistra del blocco contenitore di questa forma.
CoordSize { get; set; }Larghezza e altezza dello spazio delle coordinate all’interno del blocco contenitore di questa forma.
Count { get; }Ottiene il numero di figli immediati di questo nodo.
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
DistanceBottom { get; set; }Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo inferiore della forma.
DistanceLeft { get; set; }Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo sinistro della forma.
DistanceRight { get; set; }Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo destro della forma.
DistanceTop { get; set; }Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo superiore della forma.
virtual Document { get; }Ottiene il documento a cui appartiene questo nodo.
ExtrusionEnabled { get; }RestituisceVERO se è abilitato un effetto di estrusione.
Fill { get; }Ottiene la formattazione di riempimento per la forma.
FillColor { get; set; }Definisce il colore del pennello che riempie il tracciato chiuso della forma.
Filled { get; set; }Determina se il percorso chiuso della forma verrà riempito.
FirstChild { get; }Ottiene il primo figlio del nodo.
FirstParagraph { get; }Ottiene il primo paragrafo nella forma.
FlipOrientation { get; set; }Cambia l’orientamento di una forma.
Font { get; }Fornisce l’accesso alla formattazione del carattere di questo oggetto.
Glow { get; }Ottiene la formattazione bagliore per la forma.
HasChart { get; }RestituisceVERO se questoShape ha unChart .
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figlio.
HasImage { get; }RestituisceVERO se la forma ha byte di immagine o collega un’immagine.
HasSmartArt { get; }RestituisceVERO se questoShape ha un oggetto SmartArt.
Height { get; set; }Ottiene o imposta l’altezza del blocco contenitore della forma.
HeightRelative { get; set; }Ottiene o imposta il valore che rappresenta la percentuale dell’altezza relativa della forma.
Hidden { get; set; }Ottiene o imposta un valore booleano che indica se la forma è visibile.
HorizontalAlignment { get; set; }Specifica come la forma è posizionata orizzontalmente.
HorizontalRuleFormat { get; }Fornisce l’accesso alle proprietà della forma della regola orizzontale. Per una forma che non è una regola orizzontale, restituiscenull .
HRef { get; set; }Ottiene o imposta l’indirizzo completo del collegamento ipertestuale per una forma.
ImageData { get; }Fornisce l’accesso all’immagine della forma. Restituiscenull se la forma non può avere un’immagine.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figlio.
IsDecorative { get; set; }Ottiene o imposta il flag che specifica se la forma è decorativa nel documento.
IsDeleteRevision { get; }Restituisce true se questo oggetto è stato eliminato in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
IsGroup { get; }RestituisceVERO se questa è una forma di gruppo.
IsHorizontalRule { get; }RestituisceVERO se questa forma è una regola orizzontale.
IsImage { get; }RestituisceVERO se questa forma è una forma immagine.
IsInline { get; }Un modo rapido per determinare se questa forma è posizionata in linea con il testo.
IsInsertRevision { get; }Restituisce true se questo oggetto è stato inserito in Microsoft Word mentre il rilevamento delle modifiche era abilitato.
IsLayoutInCell { get; set; }Ottiene o imposta un flag che indica se la forma viene visualizzata all’interno di una tabella o all’esterno di essa.
IsMoveFromRevision { get; }RestituisceVERO se questo oggetto è stato spostato (eliminato) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
IsMoveToRevision { get; }RestituisceVERO se questo oggetto è stato spostato (inserito) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
IsSignatureLine { get; }Indica che la forma è unaSignatureLine .
IsTopLevel { get; }RestituisceVERO se questa forma non è figlia di una forma di gruppo.
IsWordArt { get; }RestituisceVERO se questa forma è un oggetto WordArt.
LastChild { get; }Ottiene l’ultimo figlio del nodo.
LastParagraph { get; }Ottiene l’ultimo paragrafo nella forma.
Left { get; set; }Ottiene o imposta la posizione del bordo sinistro del blocco contenitore della forma.
LeftRelative { get; set; }Ottiene o imposta il valore che rappresenta la posizione relativa a sinistra della forma in percentuale.
MarkupLanguage { get; }Ottiene il MarkupLanguage utilizzato per questo oggetto grafico.
Name { get; set; }Ottiene o imposta il nome facoltativo della forma.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
override NodeType { get; }RestituisceShape .
OleFormat { get; }Fornisce l’accesso ai dati OLE di una forma. Per una forma che non è un oggetto OLE o un controllo ActiveX, restituiscenull .
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
ParentParagraph { get; }Restituisce il paragrafo padre immediato.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce unRangeoggetto che rappresenta la porzione di un documento contenuta in questo nodo.
Reflection { get; }Ottiene la formattazione della riflessione per la forma.
RelativeHorizontalPosition { get; set; }Specifica in relazione a cosa è posizionata orizzontalmente la forma.
RelativeHorizontalSize { get; set; }Ottiene o imposta il valore della dimensione relativa della forma in direzione orizzontale.
RelativeVerticalPosition { get; set; }Specifica in relazione a cosa è posizionata verticalmente la forma.
RelativeVerticalSize { get; set; }Ottiene o imposta il valore della dimensione relativa della forma in direzione verticale.
Right { get; }Ottiene la posizione del bordo destro del blocco contenitore della forma.
Rotation { get; set; }Definisce l’angolo (in gradi) di rotazione di una forma. Il valore positivo corrisponde all’angolo di rotazione in senso orario.
ScreenTip { get; set; }Definisce il testo visualizzato quando il puntatore del mouse si sposta sulla forma.
ShadowEnabled { get; }RestituisceVERO se è abilitato un effetto ombra.
ShadowFormat { get; }Ottiene la formattazione dell’ombra per la forma.
ShapeType { get; }Ottiene il tipo di forma.
SignatureLine { get; }OttieneSignatureLine oggetto se la forma è una riga della firma. Restituiscenull altrimenti.
SizeInPoints { get; }Ottiene la dimensione della forma in punti.
SoftEdge { get; }Ottiene la formattazione dei bordi sfumati per la forma.
StoryType { get; }RestituisceTextbox .
Stroke { get; }Definisce un tratto per una forma.
StrokeColor { get; set; }Definisce il colore di un tratto.
Stroked { get; set; }Definisce se il percorso verrà tracciato.
StrokeWeight { get; set; }Definisce lo spessore del pennello che traccia il percorso di una forma in punti.
Target { get; set; }Ottiene o imposta il frame di destinazione per il collegamento ipertestuale della forma.
TextBox { get; }Definisce gli attributi che specificano come viene visualizzato il testo in una forma.
TextPath { get; }Definisce il testo del percorso di testo (di un oggetto WordArt).
Title { get; set; }Ottiene o imposta il titolo (didascalia) dell’oggetto forma corrente.
Top { get; set; }Ottiene o imposta la posizione del bordo superiore del blocco contenitore della forma.
TopRelative { get; set; }Ottiene o imposta il valore che rappresenta la posizione superiore relativa della forma in percentuale.
VerticalAlignment { get; set; }Specifica come la forma è posizionata verticalmente.
Width { get; set; }Ottiene o imposta la larghezza del blocco contenitore della forma.
WidthRelative { get; set; }Ottiene o imposta il valore che rappresenta la percentuale della larghezza relativa della forma.
WrapSide { get; set; }Specifica come il testo viene disposto attorno alla forma.
WrapType { get; set; }Definisce se la forma è in linea o mobile. Per le forme mobili, definisce la modalità di avvolgimento del testo attorno alla forma.
ZOrder { get; set; }Determina l’ordine di visualizzazione delle forme sovrapposte.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
override AcceptEnd(DocumentVisitor)Accetta un visitatore per aver visitato la fine della forma.
override AcceptStart(DocumentVisitor)Accetta un visitatore per aver visitato l’inizio della forma.
AdjustWithEffects(RectangleF)Aggiunge al rettangolo sorgente i valori dell’estensione dell’effetto e restituisce il rettangolo finale.
AppendChild<T>(T)Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo.
Clone(bool)Crea un duplicato del nodo.
CreateNavigator()Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetChild(NodeType, int, bool)Restituisce un N-esimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato.
GetEnumerator()Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo.
GetShapeRenderer()Crea e restituisce un oggetto che può essere utilizzato per trasformare questa forma in un’immagine.
override GetText()Ottiene il testo di questo nodo e di tutti i suoi figli.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array dei nodi figlio.
InsertAfter<T>(T, Node)Inserisce il nodo specificato subito dopo il nodo di riferimento specificato.
InsertBefore<T>(T, Node)Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato.
LocalToParent(PointF)Converte un valore dallo spazio delle coordinate locali nello spazio delle coordinate della forma padre.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato.
PrependChild<T>(T)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild<T>(T)Rimuove il nodo figlio specificato.
RemoveSmartTags()Rimuove tuttoSmartTag nodi discendenti del nodo corrente.
SelectNodes(string)Seleziona un elenco di nodi che corrispondono all’espressione XPath.
SelectSingleNode(string)Seleziona il primoNode che corrisponde all’espressione XPath.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.
UpdateSmartArtDrawing()Aggiorna il disegno pre-renderizzato SmartArt utilizzando il motore di rendering a freddo SmartArt di Aspose.Words.

Osservazioni

Utilizzando ilShape classe puoi creare o modificare forme in un documento Microsoft Word.

Una proprietà importante di una forma è la suaShapeTypeForme di tipi diversi possono avere funzionalità diverse in un documento Word. Ad esempio, solo le forme immagine e OLE possono contenere immagini al loro interno. La maggior parte delle forme può contenere testo, ma non tutte.

Le forme che possono contenere testo possono contenereParagraph e Table nodi come figli.

Esempi

Mostra come inserire un’immagine mobile al centro di una pagina.

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

// Inserisci un'immagine mobile che apparirà dietro il testo sovrapposto e allineala al centro della pagina.
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");

Mostra come estrarre immagini da un documento e salvarle nel file system locale come file singoli.

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

// Ottieni la raccolta di forme dal documento,
// e salva i dati dell'immagine di ogni forma con un'immagine come file nel file system locale.
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)
    {
         // I dati immagine delle forme possono contenere immagini di molti possibili formati.
        // Possiamo determinare automaticamente un'estensione di file per ogni immagine, in base al suo formato.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Mostra come eliminare tutte le forme da un documento.

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

// Inserisci due forme insieme a una forma di gruppo con un'altra forma al suo interno.
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);

// Rimuove tutti i nodi Forma dal documento.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Tutte le forme sono sparite, ma la forma del gruppo è ancora presente nel documento.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Rimuovi tutte le forme di gruppo separatamente.
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);

Guarda anche