Расположите стол
Существуют плавающие таблицы и встроенные таблицы:
- Inline tables располагаются на том же слое, что и текст, и помещаются в текстовом потоке, который окружает таблицу только сверху и снизу. Встроенные таблицы всегда будут отображаться между абзацами, в которых вы их разместили.
- Floating tables накладываются слоями на текст, а положение таблицы относительно абзаца определяется привязкой таблицы. Из-за этого положение плавающей таблицы в документе зависит от настроек вертикального и горизонтального позиционирования.
Иногда вам нужно расположить таблицу в документе определенным образом. Для этого вам нужно воспользоваться инструментами выравнивания и установить отступы между таблицей и окружающим текстом.
В этой статье мы обсудим, какие опции Aspose.Words предоставляет для позиционирования.
Укажите положение встроенной таблицы
Вы можете задать положение встроенной таблицы, используя свойства Aspose.Words API и Alignment. Таким образом, вы можете настроить выравнивание таблицы относительно страницы документа.
В следующем примере кода показано, как задать положение встроенной таблицы:
# 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 |
Получите плавающее выравнивание таблицы
Если для переноса текста таблицы задано значение Around, вы можете выровнять таблицу по горизонтали и вертикали, используя свойства RelativeHorizontalAlignment и RelativeVerticalAlignment.
С помощью other types of text wrapping вы можете получить встроенное выравнивание таблицы, используя свойство Alignment.
В следующем примере кода показано, как получить выравнивание таблицы:
# 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) |
Получить плавающее положение стола
Положение плавающей таблицы определяется с помощью следующих свойств:
- HorizontalAnchor – объект для вычисления горизонтального положения плавающей таблицы
- VerticalAnchor – объект для вычисления вертикального положения плавающей таблицы
- AbsoluteHorizontalDistance – абсолютное горизонтальное положение плавающего стола
- AbsoluteVerticalDistance – абсолютное вертикальное положение плавающего стола
- AllowOverlap – опция для включения/отключения перекрытия с другими плавающими объектами
- RelativeHorizontalAlignment – относительное горизонтальное выравнивание плавающей таблицы.
- RelativeVerticalAlignment – относительное вертикальное выравнивание плавающей таблицы.
В следующем примере кода показано, как получить положение плавающей таблицы:
# 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("..............................") |
Установите плавающее положение стола
Точно так же, как и getting, вы можете задать положение плавающей таблицы, используя те же самые Aspose.Words API.
Важно знать, что выравнивание и расстояние по горизонтали и вертикали являются комбинированными свойствами, и одно из них может изменять другое. Например, установка значения RelativeHorizontalAlignment приведет к возврату значения AbsoluteHorizontalDistance к его значению по умолчанию, и наоборот. То же самое верно для вертикального расположения.
В следующем примере кода показано, как задать положение плавающей таблицы:
# 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") |
Получить расстояние между таблицей и окружающим текстом
Aspose.Words также предоставляет возможность узнать расстояния между таблицами и окружающими текстами:
- DistanceTop – значение расстояния сверху
- DistanceBottom – значение расстояния восприятия
- DistanceRight – значение расстояния справа
- DistanceLeft – значение расстояния слева
В следующем примере кода показано, как определить расстояние между таблицей и окружающим ее текстом:
# 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) |