Plaats een tabel

Er zijn drijvende tabellen en inline tabellen:

  • Inline tabellen worden geplaatst op dezelfde laag als de tekst en worden geplaatst in een stroom tekst die alleen de tabel boven en onder omringt. Inline tabellen verschijnen altijd tussen de paragrafen waar u ze plaatste.
  • Zwevende tabellen zijn gelaagd over de tekst, en de positie van de tabel ten opzichte van de alinea wordt bepaald door het tafelanker. Hierdoor wordt de positie van de zwevende tabel in het document beïnvloed door de verticale en horizontale instelling.

Soms moet je een tabel op een bepaalde manier in een document plaatsen. Om dit te doen, moet u de uitlijngereedschappen gebruiken en de streepjes tussen de tabel en de omliggende tekst instellen.

In dit artikel bespreken we welke opties Aspose.Words voorziet in positionering.

Inline-tabelpositie opgeven

U kunt de positie van een inline tabel met behulp van de Aspose.Words API en de Alignment eigendom. Zo kunt u de uitlijning van de tabel ten opzichte van de documentpagina aanpassen.

Het volgende voorbeeld van code laat zien hoe u de positie van een inline tabel kunt instellen:

# 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

Uitlijning van de drijvende tabel verkrijgen

Als de tabeltekstverpakking is ingesteld op Around, u kunt de tabel horizontale en verticale uitlijning met behulp van de RelativeHorizontalAlignment en RelativeVerticalAlignment eigenschappen.

Met andere soorten tekstverpakking, u kunt krijgen inline tabel uitlijning met behulp van de Alignment eigendom.

Het volgende voorbeeld van code laat zien hoe de tabel uitlijning te krijgen:

# 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)

Drijvende tabelpositie verkrijgen

De positie van een zwevende tabel wordt bepaald aan de hand van de volgende eigenschappen:

Het volgende voorbeeld van code laat zien hoe je de positie van een drijvende tabel krijgt:

# 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("..............................")

Drijvende tabelpositie instellen

Net als het krijgen, kunt u de positie van een drijvende tafel met dezelfde Aspose.Words API.

Het is belangrijk te weten dat uitlijning en horizontale en verticale afstand gecombineerde eigenschappen zijn en dat de ene de andere kan resetten. Bijvoorbeeld, het instellen van de RelativeHorizontalAlignment zal de AbsoluteHorizontalDistance naar de standaard waarde en vice versa. Hetzelfde is true voor de verticale opstelling.

Het volgende voorbeeld van code laat zien hoe je de positie van een zwevende tabel kunt instellen:

# 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")

Ontvang afstand tussen tafel en omliggende tekst

Aspose.Words biedt ook de mogelijkheid om de afstanden tussen tabellen en omliggende teksten te ontdekken:

Het volgende codevoorbeeld laat zien hoe je de afstand tussen een tabel en de omliggende tekst kunt krijgen:

# 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)