Поставяне на таблица
Има плаващи маси и ред таблици:
- Входни таблици са поставени на същия слой като текста и са поставени в поток от текст, който само заобикаля таблицата над и по-долу. 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()); |