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:
- HorizontalAnchor - obiekt do obliczania poziomego pozycjonowania tabeli
- VerticalAnchor - obiekt do obliczania pionowego pozycjonowania pływającego stołu
- AbsoluteHorizontalDistance - bezwzględna pozioma pozycja tabeli
- AbsoluteVerticalDistance - bezwzględna pionowa pozycja tabeli
- AllowOverlap - opcja włączenia / wyłączenia pokrywania się z innymi obiektami zmiennymi
- RelativeHorizontalAlignment - pływający stół względne poziome ustawienie.
- RelativeVerticalAlignment - pływający stół względne pionowe ustawienie.
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:
- DistanceTop - wartość odległości od góry
- DistanceBottom - wartość odległości percepcji
- DistanceRight - wartość odległości po prawej
- DistanceLeft - wartość odległości po lewej stronie
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()); |