แยกเอกสาร Word เป็นหลายไฟล์ใน Python

ในบางกรณี คุณจำเป็นต้องแบ่งเอกสาร Word ขนาดใหญ่โดยแยกย่อยออกเป็นเอกสารย่อยๆ คุณสามารถแบ่งเอกสาร Word ตามหน้า ส่วน หรือคอลัมน์ ในบทความนี้ คุณจะได้เรียนรู้วิธีแยกเอกสาร Word ออกเป็นหลายไฟล์โดยใช้ Python คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดจะสาธิตวิธีแยกเอกสาร Word ตามส่วน หน้า หรือช่วงหน้าโดยทางโปรแกรม

Python Library เพื่อแยกเอกสาร MS Word

หากต้องการแยกเอกสาร DOCX หรือ DOC ออกเป็นหลายๆ ไฟล์ เราจะใช้ Aspose.Words for Python เป็นไลบรารีการประมวลผลคำสำหรับสร้างและจัดการเอกสาร Word คุณสามารถติดตั้งในแอปพลิเคชัน Python จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้

pip install aspose-words 

แยกเอกสาร Word ตามส่วนต่างๆ ใน Python

ในกรณีส่วนใหญ่ เอกสาร Word จะแบ่งออกเป็นหลายส่วนโดยใช้ตัวแบ่งส่วน หากต้องการบันทึกแต่ละส่วนเป็นไฟล์แยกกัน คุณสามารถแบ่งเอกสารตามส่วนต่างๆ ได้ ขั้นตอนต่อไปนี้สาธิตวิธีการแบ่งเอกสาร Word ตามส่วนต่างๆ ใน Python

  • โหลดเอกสาร Word โดยใช้คลาส Document
  • วนซ้ำแต่ละส่วนในคอลเลกชัน Document.sections
  • สำหรับแต่ละส่วนในคอลเลกชัน ให้ทำตามขั้นตอนต่อไปนี้:
    • สร้างวัตถุใหม่ของคลาสเอกสาร
    • ล้างส่วนเริ่มต้นโดยใช้เมธอด Document.sections.clear()
    • นำเข้าส่วนไปยังเอกสารใหม่โดยใช้เมธอด Document.importnode(Section, True).assection() และรับส่วนที่ส่งคืนในวัตถุ
    • เพิ่มส่วนที่ส่งคืนไปยังคอลเลกชันส่วนของเอกสารใหม่
    • บันทึกเอกสารใหม่เป็นไฟล์ DOCX โดยใช้วิธี Document.save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกเอกสาร Word ตามส่วนต่างๆ ใน Python

import aspose.words as aw

# โหลดเอกสาร Word
doc = aw.Document("document.docx")

for i in range(0, doc.sections.count) :
            
    # โคลนส่วนที่จะแยก
    section = doc.sections[i].clone()

    # สร้างอินสแตนซ์ของคลาส Document สำหรับเอกสารใหม่
    newDoc = aw.Document()
    
    # ล้างส่วนเริ่มต้น
    newDoc.sections.clear()

    # แทรกส่วนในเอกสารใหม่
    newSection = newDoc.import_node(section, True).as_section()
    newDoc.sections.add(newSection)

    # บันทึกส่วนเป็นเอกสารแยกต่างหาก
    newDoc.save(f"split_by_sections_{i}.docx")

การแยกเอกสาร Word ตามหน้าใน Python

ตอนนี้ มาดูวิธีการแยกเอกสารแต่ละหน้าและบันทึกเป็นไฟล์ DOCX แยกกัน ต่อไปนี้เป็นขั้นตอนในการแบ่งเอกสาร Word ตามหน้า

  • โหลดเอกสาร Word โดยใช้คลาส Document

  • รับจำนวนหน้าในเอกสารโดยใช้คุณสมบัติ Document.pagecount

  • วนซ้ำจำนวนหน้าและในการวนซ้ำแต่ละครั้ง ให้ทำตามขั้นตอนต่อไปนี้:

    • แยกหน้าลงในวัตถุโดยใช้เมธอด Document.extractpages(pageIndex, 1)

    • บันทึกหน้าที่แยกออกมาเป็นไฟล์ DOCX โดยใช้วิธี Document.save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกเอกสาร Word ตามหน้า

import aspose.words as aw

# โหลดเอกสาร Word
doc = aw.Document("document.docx")

# รับจำนวนหน้า
pageCount = doc.page_count

# วนซ้ำผ่านหน้า
for page in range(0, pageCount):
  
    # บันทึกแต่ละหน้าเป็นเอกสารแยกต่างหาก
    extractedPage = doc.extract_pages(page, 1)
    extractedPage.save(f"split_by_page_{page + 1}.docx")

แยกเอกสาร Word ตามช่วงหน้าใน Python

คุณยังสามารถแยกช่วงของหน้าในเอกสาร Word และบันทึกเป็นไฟล์แยกต่างหาก ต่อไปนี้เป็นขั้นตอนในการบรรลุสิ่งนี้ใน Python

  • โหลดเอกสาร Word โดยใช้คลาส Document
  • แยกหน้าโดยใช้เมธอด Document.extractpages(int, int) โดยที่พารามิเตอร์ตัวแรกคือดัชนีของหน้าเริ่มต้น และตัวที่สองคือจำนวนหน้า
  • บันทึกช่วงหน้าที่แยกเป็นไฟล์ DOCX โดยใช้วิธี Document.save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกช่วงของหน้าจากเอกสาร Word และบันทึกเป็นไฟล์ DOCX

import aspose.words as aw

# โหลดเอกสาร Word
doc = aw.Document("document.docx")

# แยกช่วงของหน้า
extractedPages = doc.extract_pages(3, 6)

# บันทึกหน้าเป็นเอกสารแยกต่างหาก
extractedPages.save("split_by_page_range.docx")

รับใบอนุญาต API ฟรี

คุณสนใจที่จะลองใช้ Aspose.Words for Python ฟรีหรือไม่? รับใบอนุญาตชั่วคราว เพื่อหลีกเลี่ยงข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแยกเอกสาร Word เป็นหลายเอกสารใน Python ตัวอย่างโค้ดได้สาธิตวิธีแยกเอกสาร Word ตามส่วน หน้า หรือช่วงหน้า Aspose.Words for Python ยังมีคุณสมบัติที่น่าตื่นเต้นอีกมากมายที่คุณสามารถสำรวจได้โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถโพสต์คำถามของคุณไปที่ ฟอรัม ของเรา

ดูสิ่งนี้ด้วย