Поставяне на таблица
Има плаващи маси и редови таблици:
- Входни таблици са поставени на същия слой като текста и са поставени в поток от текст, който само заобикаля таблицата по-горе и по-долу. Inline таблици винаги ще се появяват между параграфите, където сте ги поставили.
- Плаващи маси са напластени върху текста и позицията на таблицата спрямо параграфа се определя от котвата на масата. Поради това позицията на плаващата таблица в документа се влияе от вертикалните и хоризонталните настройки за позициониране.
Понякога трябва да поставите маса в документ по определен начин. За да направите това, трябва да използвате инструментите за подравняване и да поставите тиретата между масата и околния текст.
В тази статия ще обсъдим какви възможности Aspose.Words осигурява позициониране.
Посочва се позицията в таблицата
Можете да зададете позицията на инлайн таблица с помощта на Aspose.Words API и Alignment собственост. По този начин можете да коригирате подредбата на таблицата спрямо страницата с документи.
Следният пример за код показва как да зададете позицията на входяща таблица:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
// Align the table to the center of the page. | |
table.Alignment = 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-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.RelativeHorizontalAlignment); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
} | |
else | |
{ | |
Console.WriteLine(table.Alignment); | |
} |
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-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
foreach (Table table in doc.FirstSection.Body.Tables) | |
{ | |
// If the table is floating type, then print its positioning properties. | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.HorizontalAnchor); | |
Console.WriteLine(table.VerticalAnchor); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.AbsoluteVerticalDistance); | |
Console.WriteLine(table.AllowOverlap); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
Console.WriteLine(".............................."); | |
} | |
} |
Задаване на плаваща позиция в таблицата
Точно като получаване, можете да зададете позицията на плаваща маса, използвайки същата Aspose.Words API.
Важно е да знаете, че подравняването и хоризонталното и вертикалното разстояние са комбинирани свойства и едното може да рестартира другото. Например, задаване на RelativeHorizontalAlignment ще рестартира AbsoluteHorizontalDistance към стойността по подразбиране и обратно. Същото е. true за вертикалното разположение.
Следният пример за код показва как да се определи позицията на плаваща таблица:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
Table table = doc.FirstSection.Body.Tables[0]; | |
table.AbsoluteHorizontalDistance = 10; | |
table.RelativeVerticalAlignment = VerticalAlignment.Center; | |
doc.Save(ArtifactsDir + "WorkingWithTables.FloatingTablePosition.docx"); |
Получете разстояние между таблица и обграждащ текст
Aspose.Words Също така предоставя възможност да се открият разстоянията между таблиците и околните текстове:
- DistanceTop Стойност на разстоянието отгоре
- DistanceBottom Стойността на разстоянието на възприятие
- DistanceRight Стойност на разстояние вдясно
- DistanceLeft Стойност на разстояние вляво
Следният пример за код показва как да се получи разстоянието между таблица и околния текст:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Console.WriteLine("\nGet distance between table left, right, bottom, top and the surrounding text."); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
Console.WriteLine(table.DistanceTop); | |
Console.WriteLine(table.DistanceBottom); | |
Console.WriteLine(table.DistanceRight); | |
Console.WriteLine(table.DistanceLeft); |