Lavorare con le forme

In questo argomento viene illustrato come lavorare a livello di codice con le forme utilizzando Aspose.Words.

Le forme in Aspose.Words rappresentano un oggetto nel livello di disegno, ad esempio una forma, una casella di testo, una forma libera, un oggetto OLE, un controllo ActiveX o un’immagine. Un documento di Word può contenere una o più forme diverse. Le forme in Aspose.Words sono rappresentate dalla classe Shape.

Inserimento di forme utilizzando Document Builder

È possibile inserire una forma in linea con tipo e dimensione specificati e una forma mobile con posizione, dimensione e tipo di disposizione del testo specificati in un documento utilizzando il metodo InsertShape. Il metodo InsertShape consente di inserire la forma DML nel modello del documento. Il documento deve essere salvato nel formato che supporta le forme DML, altrimenti tali nodi verranno convertiti in forma VML durante il salvataggio del documento.

L’esempio di codice seguente mostra come inserire questi tipi di forme nel documento:

Imposta proporzioni bloccate

Usando Aspose.Words, puoi specificare se le proporzioni della forma sono bloccate tramite la proprietà AspectRatioLocked.

L’esempio di codice seguente mostra come utilizzare la proprietà AspectRatioLocked:

Imposta il layout della forma nella cella

Puoi anche specificare se la forma viene visualizzata all’interno o all’esterno di una tabella utilizzando la proprietà IsLayoutInCell.

L’esempio di codice seguente mostra come utilizzare la proprietà IsLayoutInCell:

Crea rettangolo di angolo di cattura

È possibile creare un rettangolo con angolo di ritaglio utilizzando Aspose.Words. I tipi di forma sono SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded e DiagonalCornersRounded.

La forma DML viene creata utilizzando il metodo InsertShape con questi tipi di forma. Questi tipi non possono essere utilizzati per creare forme VML. Il tentativo di creare una forma utilizzando il costruttore pubblico della classe “Shape” genera l’eccezione “NotSupportedException”.

L’esempio di codice seguente mostra come inserire questo tipo di forme nel documento:

Ottieni punti relativi ai limiti della forma effettivi

Utilizzando Aspose.Words API, puoi ottenere la posizione e la dimensione del blocco contenente la forma in punti, rispetto all’ancoraggio della forma più in alto. A tale scopo, utilizzare la proprietà BoundsInPoints.

Il seguente esempio di codice mostra come utilizzare la proprietà BoundsInPoints:

Specificare l’ancoraggio verticale

È possibile specificare l’allineamento verticale del testo all’interno di una forma utilizzando la proprietà VerticalAnchor.

L’esempio di codice seguente mostra come utilizzare la proprietà VerticalAnchor:

Rileva forma SmartArt

Aspose.Words consente anche di rilevare se la Shape ha un oggetto SmartArt. A tale scopo, utilizzare la proprietà HasSmartArt.

L’esempio di codice seguente mostra come utilizzare la proprietà HasSmartArt:

Inserisci la riga orizzontale nel documento

È possibile inserire la forma della riga orizzontale in un documento utilizzando il metodo InsertHorizontalRule.

L’esempio di codice seguente mostra come eseguire questa operazione:

Aspose.Words API fornisce la proprietà HorizontalRuleFormat per accedere alle proprietà della forma della regola orizzontale. La classe HorizontalRuleFormat espone proprietà di base come Altezza, Colore, NoShade ecc. per la formattazione di una linea orizzontale.

Il seguente esempio di codice mostra come impostare HorizontalRuleFormat:

Importa forme con XML matematico come forme in DOM

È possibile utilizzare la proprietà ConvertShapeToOfficeMath per convertire le forme con EquationXML in oggetti Office Math. Il valore predefinito di questa proprietà corrisponde al comportamento Microsoft Word, ovvero le forme con equazione XML non vengono convertite in oggetti matematici di Office.

L’esempio di codice seguente mostra come convertire le forme in oggetti Office Math: