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-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
# Align the table to the center of the page. | |
table.alignment = aw.tables.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-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
if table.text_wrapping == aw.tables.TextWrapping.AROUND: | |
print(table.relative_horizontal_alignment) | |
print(table.relative_vertical_alignment) | |
else: | |
print(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-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Table wrapped by text.docx") | |
for table in doc.first_section.body.tables: | |
table = table.as_table() | |
# If the table is floating type, then print its positioning properties. | |
if table.text_wrapping == aw.tables.TextWrapping.AROUND: | |
print(table.horizontal_anchor) | |
print(table.vertical_anchor) | |
print(table.absolute_horizontal_distance) | |
print(table.absolute_vertical_distance) | |
print(table.allow_overlap) | |
print(table.absolute_horizontal_distance) | |
print(table.relative_vertical_alignment) | |
print("..............................") |
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-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Table wrapped by text.docx") | |
table = doc.first_section.body.tables[0] | |
table.absolute_horizontal_distance = 10 | |
table.relative_vertical_alignment = aw.drawing.VerticalAlignment.CENTER | |
doc.save(ARTIFACTS_DIR + "WorkingWithTables.floating_table_position.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-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
print("\nGet distance between table left, right, bottom, top and the surrounding text.") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
print(table.distance_top) | |
print(table.distance_bottom) | |
print(table.distance_right) | |
print(table.distance_left) |