Посада столу

Розсувні таблиці та вбудовані таблиці:

  • Ім’я * Вхідні таблиці розміщуються на одному шарі, як і текст, і розміщуються в потоці тексту, що тільки оточує таблицю вище і нижче. Вхідні таблиці завжди з’являються між пунктами, де ви їх розміщуєте.
  • Ім’я * Флоатні столи прошаровуються над текстом, а положення таблиці відносно абзацу визначається за допомогою таблиці. Через це положення плаваючого столу в документі впливає на вертикальні та горизонтальні налаштування позиціонування.

Часом необхідно розмістити таблицю в документі певним чином. Для цього потрібно використовувати інструменти вирівнювання і встановити відступи між столом і навколишнім текстом.

У статті ми обговорюємо які варіанти Aspose.Words забезпечує позиціонування.

Вкажіть внутрішня позиція таблиці

Ви можете встановити позицію в режимі онлайн таблиці за допомогою Aspose.Words API і Alignment майно. Таким чином, можна регулювати вирівнювання таблиці відносно сторінки документа.

Наприклад, наступний код показує, як встановити положення таблиці в рядку:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
// Align the table to the center of the page.
table.setAlignment(TableAlignment.CENTER);

Отримувати вирівнювання столу

Якщо на столі встановлюється текстове обгортання Around, Ви можете отримати горизонтальне та вертикальне вирівнювання столу за допомогою RelativeHorizontalAlignment і RelativeVerticalAlignment властивості.

З інші види текстового обгортання, Ви можете отримати вбудоване вирівнювання таблиці за допомогою Alignment майно.

Приклад коду показує, як отримати вирівнювання таблиці:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
if (table.getTextWrapping() == TextWrapping.AROUND)
{
System.out.println(table.getRelativeHorizontalAlignment());
System.out.println(table.getRelativeVerticalAlignment());
}
else
{
System.out.println(table.getAlignment());
}

Отримати Floating Таблиця Посади

Положення плаваючого столу визначається за допомогою наступних властивостей:

  • Ім’я * HorizontalAnchor – об’єкт обчислення горизонтального позиціонування плаваючого столу
  • Ім’я * VerticalAnchor – об’єкт обчислення вертикального положення плаваючого столу
  • Ім’я * AbsoluteHorizontalDistance – абсолютна горизонтальна плаваюча позиція таблиці
  • Ім’я * AbsoluteVerticalDistance – абсолютна вертикальна плаваюча позиція таблиці
  • Ім’я * AllowOverlap – можливість увімкнути/розмкнути перекриття з іншими плаваючі об’єкти
  • Ім’я * RelativeHorizontalAlignment – плаваючий стіл відносно горизонтального вирівнювання.
  • Ім’я * RelativeVerticalAlignment – плаваючий стіл відносно вертикального вирівнювання.

Приклад коду показує, як отримати позицію плаваючого столу:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
for (Table table : doc.getFirstSection().getBody().getTables())
{
// If the table is floating type, then print its positioning properties.
if (table.getTextWrapping() == TextWrapping.AROUND)
{
System.out.println(table.getHorizontalAnchor());
System.out.println(table.getVerticalAnchor());
System.out.println(table.getAbsoluteHorizontalDistance());
System.out.println(table.getAbsoluteVerticalDistance());
System.out.println(table.getAllowOverlap());
System.out.println(table.getAbsoluteHorizontalDistance());
System.out.println(table.getRelativeVerticalAlignment());
System.out.println("..............................");
}
}

Встановити Floating Таблиця Положення

Так само, як отримати, ви можете встановити позицію плаваючого столу за допомогою того ж Aspose.Words APIй

Важливо знати, що вирівнювання і горизонтальна і вертикальна відстань поєднують властивості і можна скидати інші. Наприклад, налаштування RelativeHorizontalAlignment скинути AbsoluteHorizontalDistance до його значення за замовчуванням і навпаки. Те ж саме true для вертикального розташування.

Приклад коду показує, як встановити позицію плаваючого столу:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
table.setAbsoluteHorizontalDistance(10.0);
table.setRelativeVerticalAlignment(VerticalAlignment.CENTER);
doc.save(getArtifactsDir() + "WorkingWithTables.FloatingTablePosition.docx");
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
doc.save(getArtifactsDir() + "WorkingWithTables.RelativeHorizontalOrVerticalPosition.docx");

Отримати Відстань між Table і Surrounding Text

Aspose.Words також надає можливість дізнатися відстані між таблицями та навколишніми текстами:

  • до DistanceTop – значення відстані від вище
  • до DistanceBottom – значення відстані сприйняття
  • до DistanceRight – значення відстані на правому
  • до DistanceLeft – значення відстані зліва

Приклад коду показує, як отримати відстань між таблицями та його навколишнім текстом:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
System.out.println("\nGet distance between table left, right, bottom, top and the surrounding text.");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
System.out.println(table.getDistanceTop());
System.out.println(table.getDistanceBottom());
System.out.println(table.getDistanceRight());
System.out.println(table.getDistanceLeft());