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à:

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:

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)