Ustaw stół

Istnieją tabele pływające i tabele wbudowane:

  • Tabele wbudowane są umieszczane na tej samej warstwie co tekst i są umieszczane w strumieniu tekstu otaczającym tylko tabelę powyżej i poniżej. Tabele wbudowane będą zawsze pojawiać się pomiędzy akapitami, w których je umieściłeś.
  • Pływające stoły są nakładane na tekst, a położenie tabeli względem akapitu określa kotwica tabeli. Z tego powodu na położenie tabeli ruchomej w dokumencie wpływają ustawienia położenia pionowego i poziomego.

Czasami trzeba ustawić tabelę w dokumencie w określony sposób. W tym celu należy skorzystać z narzędzi wyrównywania i ustawić wcięcia pomiędzy tabelą a otaczającym ją tekstem.

W tym artykule omówimy, jakie opcje pozycjonowania zapewnia Aspose.Words.

Określ pozycję tabeli wbudowanej

Położenie tabeli wbudowanej można ustawić za pomocą właściwości Aspose.Words API i Alignment. W ten sposób można dostosować wyrównanie tabeli względem strony dokumentu.

Poniższy przykład kodu pokazuje, jak ustawić pozycję tabeli wbudowanej:

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

Uzyskaj wyrównanie tabeli pływającej

Jeśli zawijanie tekstu w tabeli jest ustawione na Around, wyrównanie tabeli w poziomie i w pionie można uzyskać za pomocą właściwości RelativeHorizontalAlignment i RelativeVerticalAlignment.

Dzięki inne rodzaje zawijania tekstu możesz uzyskać wbudowane wyrównanie tabeli za pomocą właściwości Alignment.

Poniższy przykład kodu pokazuje, jak uzyskać wyrównanie tabeli:

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

Uzyskaj pozycję pływającego stołu

Pozycję tabeli pływającej określa się za pomocą następujących właściwości:

Poniższy przykład kodu pokazuje, jak uzyskać pozycję tabeli pływającej:

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

Ustaw pozycję stołu pływającego

Podobnie jak w przypadku uzyskiwania, możesz ustawić pozycję pływającego stołu za pomocą tego samego Aspose.Words API.

Ważne jest, aby wiedzieć, że wyrównanie oraz odległość w poziomie i w pionie to połączone właściwości i jedna może zresetować drugą. Na przykład ustawienie RelativeHorizontalAlignment spowoduje zresetowanie AbsoluteHorizontalDistance do wartości domyślnej i odwrotnie. To samo dotyczy formatu true w przypadku układu pionowego.

Poniższy przykład kodu pokazuje, jak ustawić pozycję tabeli pływającej:

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

Uzyskaj odległość między tabelą a otaczającym tekstem

Aspose.Words zapewnia również możliwość sprawdzenia odległości pomiędzy tabelami i otaczającymi je tekstami:

Poniższy przykład kodu pokazuje, jak uzyskać odległość między tabelą a otaczającym ją tekstem:

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