Umístění tabulky
Existují plovoucí stoly a inline tabulky:
- Inline tabulky jsou umístěny na stejné vrstvě jako text a jsou umístěny do toku textu, který obklopuje pouze tabulku nahoře a pod ní. Mezi odstavci, kam jste je umístili, se vždy objeví inline tabulky.
- Plovoucí stoly jsou nad textem vrstveny a poloha tabulky vzhledem k odstavci je určena ukotvením tabulky. Kvůli tomu je poloha plovoucí tabulky v dokumentu ovlivněna vertikálním a horizontálním nastavením polohy.
Někdy je třeba umístit tabulku do dokumentu určitým způsobem. K tomu je třeba použít zarovnání nástrojů a nastavit odrážky mezi tabulkou a okolním textem.
V tomto článku budeme diskutovat o tom, jaké možnosti Aspose.Words zajišťuje umístění.
Upřesnit pozici v inline tabulce
Můžete nastavit pozici inline tabulky pomocí Aspose.Words API a Alignment majetek. Můžete tedy upravit nastavení tabulky vzhledem k záložce dokumentu.
Následující příklad kódu ukazuje, jak nastavit pozici inline tabulky:
// 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; |
Zarovnat plovoucí stůl
Pokud je text tabulky zabalen na Around, můžete získat horizontální a vertikální nastavení tabulky pomocí RelativeHorizontalAlignment a RelativeVerticalAlignment vlastnosti.
S jiné typy balení textu, můžete získat inline nastavení tabulky pomocí Alignment majetek.
Následující příklad kódu ukazuje, jak získat zarovnání tabulky:
// 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); | |
} |
Získat polohu plovoucího stolu
Poloha plovoucí tabulky se určuje pomocí těchto vlastností:
- HorizontalAnchor A
- VerticalAnchor Objekt pro výpočet svislé polohy plovoucí tabulky
- AbsoluteHorizontalDistance Absolutní vodorovná pozice plovoucí tabulky
- AbsoluteVerticalDistance Absolutní svislá poloha plovoucí tabulky
- AllowOverlap Možnost povolit / zakázat překrytí s jinými plovoucími předměty
- RelativeHorizontalAlignment Plovoucí tabulka relativní vodorovné zarovnání.
- RelativeVerticalAlignment Plovoucí stůl relativní svislé zarovnání.
Následující příklad kódu ukazuje, jak získat pozici plovoucí tabulky:
// 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(".............................."); | |
} | |
} |
Nastavit polohu plovoucího stolu
Stejně jako dostat, můžete nastavit polohu plovoucího stolu pomocí stejné Aspose.Words API.
Je důležité vědět, že seřízení a horizontální a vertikální vzdálenost jsou kombinované vlastnosti a jedna může resetovat druhou. Například nastavení RelativeHorizontalAlignment resetuje AbsoluteHorizontalDistance na výchozí hodnotu a naopak. To samé je true pro vertikální uspořádání.
Následující příklad kódu ukazuje, jak nastavit polohu plovoucí tabulky:
// 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"); |
Získat vzdálenost mezi stolem a okolním textem
Aspose.Words také poskytuje možnost zjistit vzdálenosti mezi stoly a okolními texty:
- DistanceTop Hodnota výše uvedené vzdálenosti
- DistanceBottom Hodnota vzdálenosti vnímání
- DistanceRight Hodnota vzdálenosti vpravo
- DistanceLeft Hodnota vzdálenosti vlevo
Následující příklad kódu ukazuje, jak získat vzdálenost mezi tabulkou a jejím okolním textem:
// 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); |