วางตำแหน่งตาราง
มีตารางลอยและตารางอินไลน์:
- ตารางอินไลน์ ถูกวางไว้บนเลเยอร์เดียวกันกับข้อความ และวางไว้ในแนวข้อความที่ล้อมรอบตารางด้านบนและด้านล่างเท่านั้น ตารางแบบอินไลน์จะปรากฏระหว่างย่อหน้าที่คุณวางไว้เสมอ
- โต๊ะลอยน้ำ จะถูกซ้อนเลเยอร์ไว้เหนือข้อความ และตำแหน่งของตารางที่สัมพันธ์กับย่อหน้าจะถูกกำหนดโดยจุดยึดตาราง ด้วยเหตุนี้ ตำแหน่งของตารางลอยในเอกสารจึงได้รับผลกระทบจากการตั้งค่าการวางตำแหน่งแนวตั้งและแนวนอน
บางครั้งคุณจำเป็นต้องวางตำแหน่งตารางในเอกสารในลักษณะใดลักษณะหนึ่ง ในการดำเนินการนี้ คุณจะต้องใช้เครื่องมือการจัดตำแหน่งและตั้งค่าการเยื้องระหว่างตารางและข้อความโดยรอบ
ในบทความนี้ เราจะพูดถึงตัวเลือกที่ Aspose.Words มีให้สำหรับการวางตำแหน่ง
ระบุตำแหน่งตารางแบบอินไลน์
คุณสามารถตั้งค่าตำแหน่งของตารางอินไลน์ได้โดยใช้คุณสมบัติ Aspose.Words API และ Alignment ดังนั้นคุณจึงสามารถปรับการจัดตำแหน่งของตารางให้สัมพันธ์กับหน้าเอกสารได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าตำแหน่งของตารางแบบอินไลน์:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
# Align the table to the center of the page. | |
table.alignment = aw.tables.TableAlignment.CENTER |
รับการจัดตำแหน่งตารางแบบลอยตัว
หากตั้งค่าการตัดข้อความตารางเป็น Around คุณสามารถรับการจัดแนวแนวนอนและแนวตั้งของตารางได้โดยใช้คุณสมบัติ RelativeHorizontalAlignment และ RelativeVerticalAlignment
ด้วย การตัดข้อความประเภทอื่นๆ คุณสามารถรับการจัดแนวตารางแบบอินไลน์ได้โดยใช้คุณสมบัติ Alignment
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการจัดตำแหน่งของตาราง:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
if table.text_wrapping == aw.tables.TextWrapping.AROUND: | |
print(table.relative_horizontal_alignment) | |
print(table.relative_vertical_alignment) | |
else: | |
print(table.alignment) |
รับตำแหน่งตารางลอยตัว
ตำแหน่งของตารางลอยตัวถูกกำหนดโดยใช้คุณสมบัติต่อไปนี้:
- HorizontalAnchor – วัตถุสำหรับคำนวณการวางตำแหน่งแนวนอนของตารางลอย
- VerticalAnchor – วัตถุสำหรับคำนวณการวางตำแหน่งแนวตั้งของตารางลอย
- AbsoluteHorizontalDistance – ตำแหน่งตารางลอยแนวนอนสัมบูรณ์
- AbsoluteVerticalDistance – ตำแหน่งตารางลอยในแนวตั้งสัมบูรณ์
- AllowOverlap - ตัวเลือกในการเปิด/ปิดการทับซ้อนกับวัตถุลอยอื่นๆ
- RelativeHorizontalAlignment - การจัดตำแหน่งแนวนอนแบบสัมพันธ์ของตารางลอย
- RelativeVerticalAlignment - การจัดตำแหน่งแนวตั้งสัมพัทธ์ของตารางลอย
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการรับตำแหน่งของตารางลอยตัว:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Table wrapped by text.docx") | |
for table in doc.first_section.body.tables: | |
table = table.as_table() | |
# If the table is floating type, then print its positioning properties. | |
if table.text_wrapping == aw.tables.TextWrapping.AROUND: | |
print(table.horizontal_anchor) | |
print(table.vertical_anchor) | |
print(table.absolute_horizontal_distance) | |
print(table.absolute_vertical_distance) | |
print(table.allow_overlap) | |
print(table.absolute_horizontal_distance) | |
print(table.relative_vertical_alignment) | |
print("..............................") |
ตั้งค่าตำแหน่งตารางลอยตัว
เช่นเดียวกับการรับ คุณสามารถกำหนดตำแหน่งของตารางลอยได้โดยใช้ Aspose.Words API เดียวกัน
สิ่งสำคัญคือต้องรู้ว่าการจัดตำแหน่งและระยะทางแนวนอนและแนวตั้งเป็นคุณสมบัติที่รวมกัน และสามารถรีเซ็ตคุณสมบัติอื่นได้ ตัวอย่างเช่น การตั้งค่า RelativeHorizontalAlignment จะรีเซ็ต AbsoluteHorizontalDistance เป็นค่าเริ่มต้นและในทางกลับกัน เช่นเดียวกับ true สำหรับการจัดเรียงแนวตั้ง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าตำแหน่งของตารางลอยตัว:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Table wrapped by text.docx") | |
table = doc.first_section.body.tables[0] | |
table.absolute_horizontal_distance = 10 | |
table.relative_vertical_alignment = aw.drawing.VerticalAlignment.CENTER | |
doc.save(ARTIFACTS_DIR + "WorkingWithTables.floating_table_position.docx") |
รับระยะห่างระหว่างตารางและข้อความโดยรอบ
Aspose.Words ยังให้โอกาสในการค้นหาระยะห่างระหว่างตารางและข้อความโดยรอบ:
- DistanceTop – ค่าระยะห่างจากด้านบน
- DistanceBottom – ค่าของระยะห่างในการรับรู้
- DistanceRight – ค่าระยะทางทางด้านขวา
- DistanceLeft – ค่าระยะทางทางด้านซ้าย
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับระยะห่างระหว่างตารางและข้อความโดยรอบ:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
print("\nGet distance between table left, right, bottom, top and the surrounding text.") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
print(table.distance_top) | |
print(table.distance_bottom) | |
print(table.distance_right) | |
print(table.distance_left) |