Как удалить пустую страницу в Word с помощью Python

В этой статье описывается как удалить пустую страницу в Word с помощью Python. В нем есть подробная информация по настройке среды, список шагов и работоспособный пример кода, показывающий как удалить пустую страницу в Word с помощью Python. Пример кода можно использовать для выполнения задачи в том виде, в каком он есть, однако вы можете импровизировать, добавляя при необходимости различные условия.

Действия по удалению пустой страницы в Word с помощью Python

  1. Настройте среду разработки на использование Aspose.Words для Python через .NET для удаления пустых страниц.
  2. Загрузите исходный файл Word в объект Document, содержащий пустые страницы.
  3. Перебрать все страницы документа и проверить содержимое каждого раздела.
  4. Проверьте наличие текста и изображений и подготовьте список пустых страниц.
  5. Создайте новый пустой документ Word.
  6. Append все страницы, имеющие некоторый контент из исходного файла Word, используя список пустых страниц.
  7. Сохраните полученный файл Word без пустой страницы.

Эти шаги объясняют процесс как удалить пустую страницу Word с помощью Python. В этом процессе загружается исходный файл Word, и все разделы на каждой странице проверяются на наличие текста или изображений для подготовки списка пустых страниц. В конце концов создается новый документ, и все страницы, кроме пустых, добавляются в этот новый пустой документ.

Код для удаления пустой страницы в Word с использованием 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")

Этот пример кода демонстрирует как удалить пустую страницу из Word с помощью Python. В этом примере кода основной текст и тип узла SHAPE проверяются для каждого раздела, однако вы можете использовать другие типы, такие как TABLE, COMMENT, FORM_FIELD, SMART_TAG и т. д., для идентификации пустых страниц. Метод Append_document() используется для добавления страниц в новый файл Word, поскольку он содержит различные перегруженные методы, позволяющие использовать разные аргументы для настройки процесса вставки страниц.

Эта статья научила нас как удалить пустую страницу в Word с помощью Python. Если вы хотите поместить номера страниц в файл Word, обратитесь к статье как поставить номер страницы в Word с помощью Python.

 Русский