Położenie tabeli

Istnieją tablice pływające i tabele inline:

  • Tabele inline są umieszczone na tej samej warstwie co tekst i umieszczone w strumieniu tekstu, który otacza jedynie tabelę powyżej i poniżej. Tabele wewnętrzne zawsze pojawiają się pomiędzy akapitami, w których je umieściłeś.
  • Stoły pływające są poziome względem tekstu, a pozycja tabeli względem punktu jest określona przez kotwicę tabeli. W związku z tym pozycja tabeli zmiennoprzecinkowej w dokumencie zależy od pionowych i poziomych ustawień pozycjonowania.

Czasami trzeba umieścić stół w dokumencie w określony sposób. Aby to zrobić, musisz użyć narzędzi osiowania i ustawić tiret między tabelą a otaczającym tekstem.

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

Określić pozycję tabeli inline

Można ustawić pozycję tablicy inline za pomocą Aspose.Words API oraz Alignment nieruchomości. W ten sposób można dostosować ustawienie tabeli względem strony dokumentu.

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

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

Pobierz pływające wyrównanie tabeli

Jeśli tekst tabeli jest ustawiony na Around, można uzyskać poziome i pionowe ustawienie tabeli za pomocą RelativeHorizontalAlignment oraz RelativeVerticalAlignment nieruchomości.

Z inne rodzaje opakowań tekstowych, można uzyskać ustawienia tabeli inline za pomocą Alignment nieruchomości.

Poniższy przykład kodu pokazuje jak uzyskać ustawienie tabeli:

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

Uzyskaj pozycję pływającego stołu

Położenie tabeli zmiennoprzecinkowej określa się przy użyciu następujących właściwości:

Poniższy przykład kodu pokazuje jak uzyskać pozycję tabeli zmiennoprzecinkowej:

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

Ustaw pozycję tabeli pływającej

Tak jak otrzymanie, możesz ustawić pozycję pływającego stołu używając tego samego Aspose.Words API.

Ważne jest, aby wiedzieć, że osiowanie oraz odległość pozioma i pionowa są właściwościami łączonymi, a jeden może zresetować drugi. Na przykład, ustawienie RelativeHorizontalAlignment zresetuje AbsoluteHorizontalDistance do wartości domyślnej i odwrotnie. To samo jest true dla układu pionowego.

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

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

Get Distance between Table and Surrounding Text

Aspose.Words umożliwia również poznanie odległości między tabelami a otaczającymi je tekstami:

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

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