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

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

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

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

Следният пример за код показва как да се получи позицията на плаваща таблица:

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