Поставяне на таблица

Има плаващи маси и ред таблици:

  • Входни таблици са поставени на същия слой като текста и са поставени в поток от текст, който само заобикаля таблицата над и по-долу. Inline таблици винаги ще се появяват между параграфите, където сте ги поставили.
  • Плаващи маси са напластени върху текста, а позицията на таблицата спрямо параграфа се определя от котвата на масата. Поради това позицията на плаващата таблица в документа се влияе от вертикалните и хоризонталните настройки за позициониране.

Понякога трябва да поставите маса в документ по определен начин. За да направите това, трябва да използвате инструментите за подравняване и да поставите тиретата между масата и околния текст.

В тази статия ще обсъдим какви възможности 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);

Get Floating Таблица Подравняване

Ако опаковката на текста на таблицата е зададена 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());
}

Get Floating Table Позиция

Позицията на плаваща таблица се определя, като се използват следните свойства:

  • 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("..............................");
}
}

Задаване на плаваща позиция в таблицата

Точно като получаване, можете да зададете позицията на плаваща маса, използвайки същата 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");

Получете разстояние между таблица и обграждащ текст

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());