Posiziona un tavolo
Esistono tabelle mobili e tabelle in linea:
- I Tabelle in linea sono posizionati sullo stesso livello del testo e sono inseriti in un flusso di testo che circonda solo la tabella sopra e sotto. Le tabelle in linea appariranno sempre tra i paragrafi in cui le hai inserite.
- I Tavoli galleggianti sono sovrapposti al testo e la posizione della tabella rispetto al paragrafo è determinata dall’ancora della tabella. Per questo motivo, la posizione della tabella mobile nel documento viene influenzata dalle impostazioni di posizionamento verticale e orizzontale.
A volte è necessario posizionare una tabella in un documento in un certo modo. Per fare ciò, è necessario utilizzare gli strumenti di allineamento e impostare i rientri tra la tabella e il testo circostante.
In questo articolo discuteremo quali opzioni offre Aspose.Words per il posizionamento.
Specificare la posizione della tabella in linea
È possibile impostare la posizione di una tabella in linea utilizzando la proprietà Aspose.Words API e Alignment. Pertanto, puoi regolare l’allineamento della tabella rispetto alla pagina del documento.
L’esempio di codice seguente mostra come impostare la posizione di una tabella in linea:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
// Align the table to the center of the page. | |
table.Alignment = TableAlignment.Center; |
Ottieni l’allineamento della tabella mobile
Se la disposizione del testo della tabella è impostata su Around, puoi ottenere l’allineamento orizzontale e verticale della tabella utilizzando le proprietà RelativeHorizontalAlignment e RelativeVerticalAlignment.
Con altri tipi di disposizione del testo, puoi ottenere l’allineamento della tabella in linea utilizzando la proprietà Alignment.
L’esempio di codice seguente mostra come ottenere l’allineamento della tabella:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.RelativeHorizontalAlignment); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
} | |
else | |
{ | |
Console.WriteLine(table.Alignment); | |
} |
Ottieni la posizione della tabella mobile
La posizione di una tabella mobile viene determinata utilizzando le seguenti proprietà:
- HorizontalAnchor – un oggetto per calcolare il posizionamento orizzontale di un tavolo mobile
- VerticalAnchor – un oggetto per calcolare il posizionamento verticale di una tabella mobile
- AbsoluteHorizontalDistance – posizione assoluta della tabella mobile orizzontale
- AbsoluteVerticalDistance – posizione assoluta della tabella mobile verticale
- AllowOverlap – opzione per abilitare/disabilitare la sovrapposizione con altri oggetti mobili
- RelativeHorizontalAlignment – allineamento orizzontale relativo della tabella mobile.
- RelativeVerticalAlignment – tabella mobile relativo allineamento verticale.
L’esempio di codice seguente mostra come ottenere la posizione di una tabella mobile:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
foreach (Table table in doc.FirstSection.Body.Tables) | |
{ | |
// If the table is floating type, then print its positioning properties. | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.HorizontalAnchor); | |
Console.WriteLine(table.VerticalAnchor); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.AbsoluteVerticalDistance); | |
Console.WriteLine(table.AllowOverlap); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
Console.WriteLine(".............................."); | |
} | |
} |
Imposta la posizione della tabella mobile
Proprio come ottenere, puoi impostare la posizione di una tabella mobile utilizzando lo stesso Aspose.Words API.
È importante sapere che l’allineamento e la distanza orizzontale e verticale sono proprietà combinate e l’una può reimpostare l’altra. Ad esempio, l’impostazione di RelativeHorizontalAlignment ripristinerà il AbsoluteHorizontalDistance al valore predefinito e viceversa. Lo stesso vale per true per la disposizione verticale.
L’esempio di codice seguente mostra come impostare la posizione di una tabella mobile:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
Table table = doc.FirstSection.Body.Tables[0]; | |
table.AbsoluteHorizontalDistance = 10; | |
table.RelativeVerticalAlignment = VerticalAlignment.Center; | |
doc.Save(ArtifactsDir + "WorkingWithTables.FloatingTablePosition.docx"); |
Ottieni la distanza tra la tabella e il testo circostante
Aspose.Words offre anche l’opportunità di scoprire le distanze tra le tabelle e i testi circostanti:
- DistanceTop – il valore della distanza dall’alto
- DistanceBottom – il valore della distanza di percezione
- DistanceRight – valore della distanza a destra
- DistanceLeft – valore della distanza a sinistra
L’esempio di codice seguente mostra come ottenere la distanza tra una tabella e il testo circostante:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Console.WriteLine("\nGet distance between table left, right, bottom, top and the surrounding text."); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
Console.WriteLine(table.DistanceTop); | |
Console.WriteLine(table.DistanceBottom); | |
Console.WriteLine(table.DistanceRight); | |
Console.WriteLine(table.DistanceLeft); |