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í:

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:

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