วางตำแหน่งตาราง

มีตารางลอยและตารางอินไลน์:

  • ตารางอินไลน์ ถูกวางไว้บนเลเยอร์เดียวกันกับข้อความ และวางไว้ในแนวข้อความที่ล้อมรอบตารางด้านบนและด้านล่างเท่านั้น ตารางแบบอินไลน์จะปรากฏระหว่างย่อหน้าที่คุณวางไว้เสมอ
  • โต๊ะลอยน้ำ จะถูกซ้อนเลเยอร์ไว้เหนือข้อความ และตำแหน่งของตารางที่สัมพันธ์กับย่อหน้าจะถูกกำหนดโดยจุดยึดตาราง ด้วยเหตุนี้ ตำแหน่งของตารางลอยในเอกสารจึงได้รับผลกระทบจากการตั้งค่าการวางตำแหน่งแนวตั้งและแนวนอน

บางครั้งคุณจำเป็นต้องวางตำแหน่งตารางในเอกสารในลักษณะใดลักษณะหนึ่ง ในการดำเนินการนี้ คุณจะต้องใช้เครื่องมือการจัดตำแหน่งและตั้งค่าการเยื้องระหว่างตารางและข้อความโดยรอบ

ในบทความนี้ เราจะพูดถึงตัวเลือกที่ 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)