Bài viết này mô tả cách xóa trang trống trong Word bằng Python. Nó có các chi tiết để thiết lập môi trường, danh sách các bước và mã mẫu có thể chạy được hiển thị cách xóa trang trống trong Word bằng Python. Mã mẫu có thể được sử dụng để thực hiện nhiệm vụ, tuy nhiên, bạn có thể ứng biến nó bằng cách thêm các điều kiện khác nhau nếu cần.
Các bước để xóa trang trống trong Word bằng Python
- Đặt môi trường phát triển để sử dụng Aspose.Words cho Python qua .NET để xóa các trang trống
- Tải tệp Word nguồn vào đối tượng Document có các trang trống trong đó
- Lặp lại qua tất cả các trang trong tài liệu và kiểm tra nội dung của từng phần
- Kiểm tra sự hiện diện của văn bản và hình ảnh và chuẩn bị danh sách các trang trống
- Tạo một tài liệu Word trống mới
- Append tất cả các trang có một số nội dung từ tệp Word nguồn sử dụng danh sách trang trống
- Lưu kết quả file Word không có trang trống
Các bước này giải thích quy trình cách xóa trang Word trống bằng Python. Trong quá trình này, tệp Word nguồn được tải và tất cả các phần trong mỗi trang đều được kiểm tra xem có văn bản hoặc hình ảnh để chuẩn bị danh sách các trang trống. Cuối cùng, một tài liệu mới được tạo và tất cả các trang không phải là trang trống sẽ được thêm vào tài liệu trống mới này.
Mã để xóa trang trống trong Word bằng Python
import aspose.words as aw | |
import aspose.pydrawing as drawing | |
# Load the license | |
wordLic = aw.License() | |
wordLic.set_license("License.lic") | |
# Load the Word file having blank pages in it | |
originalDocWithFewBlankPages = aw.Document("input.docx") | |
# Declare an array for blank page numbers | |
listOfBlankPageNumbers = [] | |
listOfBlankPageNumbers.append(-1) | |
# Get total pages in the souce Word file | |
totalPagesInOriginalDoc = originalDocWithFewBlankPages.page_count | |
for iCount in range(0, totalPagesInOriginalDoc): # This will loop for page count | |
# Extract each page one by one | |
DocWithOnePage = originalDocWithFewBlankPages.extract_pages(iCount, 1) | |
shapesCounter = 0 | |
pageText = "" | |
# Check text and images in each section | |
for docSection in DocWithOnePage.sections: | |
docSection = docSection.as_section() | |
pageText = pageText + docSection.body.to_string(aw.SaveFormat.TEXT) | |
shapesCounter += docSection.body.get_child_nodes(aw.NodeType.SHAPE, True).count | |
# Check if no content is there | |
if (not pageText) and shapesCounter == 0: | |
# Store the index of blank page numbers | |
listOfBlankPageNumbers.append(iCount) | |
listOfBlankPageNumbers.append(totalPagesInOriginalDoc) | |
# Create a single page document with default forrmat | |
nonEmptyDocument = originalDocWithFewBlankPages.clone(False).as_document() | |
# Clean the document | |
nonEmptyDocument.remove_all_children() | |
# Append the pages with content to the new document | |
for iCount in range(1, len(listOfBlankPageNumbers)): | |
index = listOfBlankPageNumbers[iCount - 1] + 1 | |
count = listOfBlankPageNumbers[iCount] - index | |
if count > 0: | |
nonEmptyDocument.append_document( | |
originalDocWithFewBlankPages.extract_pages(index, count), | |
aw.ImportFormatMode.KEEP_SOURCE_FORMATTING) | |
# Save the document having some content in it | |
nonEmptyDocument.save("NonEmptyPages.docx") | |
print ("Blank pages deleted successfully") |
Mã mẫu này trình bày cách xóa trang trống khỏi Word bằng Python. Trong mã mẫu này, nội dung văn bản và loại nút SHAPE được kiểm tra cho từng phần, tuy nhiên, bạn có thể sử dụng các loại khác như TABLE, COMMENT, FORM_FIELD, SMART_TAG, v.v. để xác định các trang trống. Phương thứcappend_document() được sử dụng để thêm trang vào tệp Word mới trong khi nó chứa nhiều phương thức nạp chồng khác nhau cho phép các đối số khác nhau để tùy chỉnh quá trình chèn trang.
Bài viết này đã dạy chúng tôi cách xóa trang trống trong Word bằng Python. Nếu bạn muốn đánh số trang trong file Word tham khảo bài viết trên cách đánh số trang trong Word bằng Python.