Chia tài liệu Word thành nhiều tệp bằng Python

Trong một số trường hợp nhất định, bạn cần chia nhỏ các tài liệu Word lớn bằng cách chia chúng thành các tài liệu nhỏ hơn. Bạn có thể chia tài liệu Word theo trang, phần hoặc cột. Trong bài viết này, bạn sẽ học cách chia một tài liệu Word thành nhiều tệp bằng Python. Hướng dẫn từng bước và các mẫu mã sẽ trình bày cách tách tài liệu Word theo các phần, trang hoặc phạm vi trang theo lập trình.

Thư viện Python để tách các tài liệu MS Word

Để chia tài liệu DOCX hoặc DOC thành nhiều tệp, chúng tôi sẽ sử dụng Aspose.Words for Python. Nó là một thư viện xử lý văn bản để tạo và thao tác với các tài liệu Word. Bạn có thể cài đặt nó trong các ứng dụng Python của mình từ PyPI bằng cách sử dụng lệnh pip sau.

pip install aspose-words 

Chia tài liệu Word theo từng phần trong Python

Trong hầu hết các trường hợp, tài liệu Word được chia thành nhiều phần bằng cách sử dụng dấu ngắt phần. Để lưu từng phần thành một tệp riêng biệt, bạn có thể chia tài liệu theo từng phần. Các bước sau đây trình bày cách chia tài liệu Word theo các phần trong Python.

  • Tải tài liệu Word bằng lớp Tài liệu.
  • Lặp lại từng phần trong bộ sưu tập Document.section.
  • Đối với mỗi phần trong bộ sưu tập, hãy thực hiện các bước sau:
    • Tạo một đối tượng mới của lớp Document.
    • Xóa các phần mặc định bằng phương thức Document.section.clear().
    • Nhập phần vào tài liệu mới bằng cách sử dụng phương thức Document.importnode (Section, True) .assection() và lấy phần được trả về trong một đối tượng.
    • Thêm Phần đã trả lại vào bộ sưu tập các phần của tài liệu mới.
    • Lưu tài liệu mới dưới dạng tệp DOCX bằng phương thức Document.save (string).

Mẫu mã sau đây cho thấy cách chia tài liệu Word theo các phần trong Python.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

for i in range(0, doc.sections.count) :
            
    # sao chép phần để tách
    section = doc.sections[i].clone()

    # tạo một thể hiện của lớp Tài liệu cho doucment mới
    newDoc = aw.Document()
    
    # xóa các phần mặc định
    newDoc.sections.clear()

    # phần chèn vào tài liệu mới
    newSection = newDoc.import_node(section, True).as_section()
    newDoc.sections.add(newSection)

    # Lưu phần dưới dạng một tài liệu riêng biệt
    newDoc.save(f"split_by_sections_{i}.docx")

Tách tài liệu Word theo các trang bằng Python

Bây giờ, chúng ta hãy xem cách tách từng trang của tài liệu và lưu nó thành một tệp DOCX riêng biệt. Sau đây là các bước để chia tài liệu Word theo các trang.

  • Tải tài liệu Word bằng lớp Tài liệu.

  • Nhận số trang trong tài liệu bằng thuộc tính Document.pagecount.

  • Lặp lại số lượng trang và trong mỗi lần lặp, hãy thực hiện các bước sau:

    • Trích xuất trang thành một đối tượng bằng phương thức Document.extractpages (pageIndex, 1).

    • Lưu trang được giải nén dưới dạng tệp DOCX bằng phương thức Document.save (string).

Mẫu mã sau đây cho thấy cách chia tài liệu Word theo các trang.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

# nhận được số lượng trang
pageCount = doc.page_count

# lặp qua các trang
for page in range(0, pageCount):
  
    # lưu từng trang thành một tài liệu riêng biệt
    extractedPage = doc.extract_pages(page, 1)
    extractedPage.save(f"split_by_page_{page + 1}.docx")

Tách tài liệu Word theo phạm vi trang bằng Python

Bạn cũng có thể chia một loạt các trang trong tài liệu Word và lưu nó thành một tệp riêng biệt. Sau đây là các bước để đạt được điều này trong Python.

  • Tải tài liệu Word bằng lớp Tài liệu.
  • Trích xuất các trang bằng phương thức Document.extractpages (int, int) trong đó tham số đầu tiên là chỉ mục của trang bắt đầu và tham số thứ hai là số trang.
  • Lưu phạm vi trang được trích xuất dưới dạng tệp DOCX bằng phương thức Document.save (string).

Mẫu mã sau đây cho thấy cách trích xuất một loạt các trang từ tài liệu Word và lưu nó dưới dạng tệp DOCX.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

# trích xuất nhiều trang
extractedPages = doc.extract_pages(3, 6)

# lưu các trang dưới dạng một tài liệu riêng biệt
extractedPages.save("split_by_page_range.docx")

Nhận giấy phép API miễn phí

Bạn có muốn dùng thử Aspose. AdWords for Python miễn phí không? Nhận giấy phép tạm thời để tránh các giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách chia một tài liệu Word thành nhiều tài liệu bằng Python. Các mẫu mã đã trình bày cách chia tài liệu Word theo các phần, trang hoặc một phạm vi trang. Aspose. AdWords for Python cũng cung cấp một số tính năng thú vị mà bạn có thể khám phá bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể đăng câu hỏi của mình lên diễn đàn của chúng tôi.

Xem thêm