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 níže. Inline tabulky se vždy objeví mezi odstavci, kde jste je umístil.
- Plovoucí stoly jsou vrstveny přes text a poloha tabulky ve vztahu k odstavci je určena kotvou 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-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); |
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é druhy balení textu, můžete získat inline nastavení tabulky pomocí Alignment majetek.
Následující příklad kódu ukazuje, jak získat vyrovnání tabulky:
// 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()); | |
} |
Získat polohu plovoucího stolu
Poloha plovoucí tabulky se určuje pomocí těchto vlastností:
- HorizontalAnchor Objekt pro výpočet vodorovné polohy plovoucí tabulky
- VerticalAnchor Objekt pro výpočet svislé polohy plovoucí tabulky
- AbsoluteHorizontalDistance Absolutní vodorovná pozice plovoucí tabulky
- AbsoluteVerticalDistance Absolutní svislá pozice 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-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(".............................."); | |
} | |
} |
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 vodorovná a vertikální vzdálenost jsou kombinované vlastnosti a jedna může resetovat druhou. Například nastavení RelativeHorizontalAlignment resetuje AbsoluteHorizontalDistance na její 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-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"); |
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-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()); |