ระดับลอจิคัลของโหนดในเอกสาร
เอกสารนี้บางครั้งอ้างถึงกลุ่มของคลาสโหนดที่เป็นของ “ระดับ” ในเอกสาร เช่น “ระดับบล็อก” “ระดับอินไลน์” (หรือที่เรียกว่า “อินไลน์”) หรือโหนด “ระดับแถว”. ระดับเหล่านี้ในเอกสารมีความแตกต่างกันในเชิงตรรกะล้วนๆ และไม่ได้แสดงอย่างชัดเจนโดยการสืบทอดหรือวิธีการ Aspose.Words DOM อื่นๆ ระดับโหนดใช้เพื่ออธิบายตำแหน่งในแผนผังเอกสารที่โหนดมักจะเกิดขึ้น
ในบทความก่อนหน้านี้ เราได้พูดคุยกันแล้วเกี่ยวกับความสัมพันธ์ระหว่างโหนดและความจริงที่ว่าไม่ใช่ทุกโหนดจะได้รับอนุญาตให้เป็นลูกของโหนดใดๆ ตัวอย่างเช่น Cell สามารถเป็นได้เฉพาะรายการย่อย Row และ Row สามารถเป็นได้เฉพาะรายการย่อย Table เป็นต้น ความสัมพันธ์เหล่านี้ยังใช้สำหรับการแบ่งโหนดตามตรรกะตามระดับต่างๆ ในเอกสารอีกด้วย
ส่วนต่อไปนี้จะอธิบายระดับลอจิคัลของโหนดใน Aspose.Words และคลาสที่เป็นของแต่ละระดับ
ระดับตรรกะของเอกสารและมาตรา
เอกสาร Word ประกอบด้วยหนึ่งส่วนขึ้นไป ซึ่งแสดงโดยคลาส Section และคั่นด้วยตัวแบ่งส่วน ส่วนสามารถกำหนดขนาดหน้า ระยะขอบ การวางแนว จำนวนคอลัมน์ข้อความ และส่วนหัวและส่วนท้ายของตนเองได้
โหนดระดับ Document และ Section มีโครงสร้างดังแสดงในแผนภาพต่อไปนี้
ส่วนประกอบด้วยข้อความหลัก ตลอดจนส่วนหัวและส่วนท้ายสำหรับหน้าแรก หน้าคู่ และหน้าคี่ “กระแส” ของข้อความที่แตกต่างกันเหล่านี้เรียกว่า stories
ใน Aspose.Words โหนด Section จะมีโหนดเรื่องราว Body และ HeaderFooter วัตถุ Body เก็บข้อความหลัก ออบเจ็กต์ HeaderFooter จะจัดเก็บข้อความสำหรับแต่ละส่วนหัวและส่วนท้าย ข้อความของเรื่องราวใดๆ ประกอบด้วยย่อหน้าและตาราง ตามลำดับซึ่งแสดงด้วยออบเจ็กต์ Paragraph และ Table ของระดับบล็อก
นอกจากนี้ เอกสาร Word แต่ละฉบับสามารถมีอภิธานศัพท์ซึ่งแสดงโดยโหนด GlossaryDocument ใน Aspose.Words เอกสารอภิธานศัพท์ประกอบด้วยรายการ building_blocks BuildingBlockType.AUTO_TEXT และ BuildingBlockType.AUTO_CORRECT
GlossaryDocument มีโหนด BuildingBlock ที่แสดงรายการเอกสารอภิธานศัพท์ประเภทต่างๆ BuildingBlock แต่ละรายการมีส่วนที่สามารถแทรก ลบ และคัดลอกลงในเอกสารได้
บล็อกระดับลอจิคัล
โหนดระดับบล็อกแสดงถึงคอนเทนเนอร์สำหรับเนื้อหาและการควบคุมเนื้อหา และสามารถเกิดขึ้นได้ในโหนดย่อยของแผนผังเอกสารในโหนดต่อไปนี้:
โหนดระดับบล็อกแสดงโดยคลาสต่อไปนี้:
- Tables และ Paragraphs ซึ่งเป็นโหนดระดับบล็อกที่สำคัญที่สุด
- Bookmarks ซึ่งเกิดขึ้นทั้งในระดับบล็อกและระดับอินไลน์
- StructuredDocumentTag ซึ่งแสดงถึงมาร์กอัปที่กำหนดเองและสามารถมีทั้งเนื้อหาและการควบคุมเนื้อหา
แผนภาพต่อไปนี้แสดงองค์ประกอบระดับบล็อก
ระดับลอจิคัลแบบอินไลน์
โหนดระดับอินไลน์แสดงถึงเนื้อหาจริงของเอกสารและสามารถบรรจุอยู่ในคอนเทนเนอร์ต่อไปนี้:
- Paragraph – คอนเทนเนอร์ที่พบบ่อยที่สุด
- SmartTag
- StructuredDocumentTag
องค์ประกอบระดับอินไลน์จะแสดงโดยคลาสต่อไปนี้:
- Run – การเรียกใช้ข้อความที่มีรูปแบบแตกต่างออกไป
- BookmarkStart และ BookmarkEnd เป็นตัวแทนของบุ๊กมาร์ก
- CommentRangeStart, CommentRangeEnd, Comment และ Footnote เป็นตัวแทนคำอธิบายประกอบ
- FieldStart, FieldChar, FieldSeparator และ FieldEnd ที่แสดงอักขระฟิลด์ และ FormField แสดงถึงฟิลด์ Word
- SpecialChar แสดงถึงอักขระพิเศษในเอกสาร
- Shape และ GroupShape เป็นตัวแทนรูปร่าง ภาพวาด รูปภาพ ฯลฯ
- SmartTag และ StructuredDocumentTag แสดงถึงมาร์กอัปที่กำหนดเอง
แผนภาพต่อไปนี้แสดงโครงสร้างโหนดระดับอินไลน์
รูปร่างใน Microsoft Word ประกอบด้วยรูปร่างอัตโนมัติของ Office Art, กล่องข้อความ, รูปภาพ, วัตถุ OLE และตัวควบคุม ActiveX ซึ่งทั้งหมดนี้แสดงโดยใช้คลาส Shape
รูปร่างบางรูปร่างสามารถมีข้อความได้ ดังนั้นโหนดรูปร่างใน Aspose.Words จึงสามารถมีโหนดระดับบล็อกได้
รูปร่างสามารถจัดกลุ่มไว้ภายในกันและกันได้โดยใช้โหนด GroupShape
ระดับตาราง แถว และโหนดเซลล์
ตารางประกอบด้วยโหนดของแถวและเซลล์ องค์ประกอบ Table จะแสดงโดยคลาสต่อไปนี้:
- Row แสดงถึงแถวของตาราง
- Cell แสดงถึงเซลล์ตาราง
- StructuredDocumentTag แสดงถึงมาร์กอัปที่กำหนดเอง