В этой статье описывается как удалить пустую страницу в Word с помощью Python. В нем есть подробная информация по настройке среды, список шагов и работоспособный пример кода, показывающий как удалить пустую страницу в Word с помощью Python. Пример кода можно использовать для выполнения задачи в том виде, в каком он есть, однако вы можете импровизировать, добавляя при необходимости различные условия.
Действия по удалению пустой страницы в Word с помощью Python
- Настройте среду разработки на использование Aspose.Words для Python через .NET для удаления пустых страниц.
- Загрузите исходный файл Word в объект Document, содержащий пустые страницы.
- Перебрать все страницы документа и проверить содержимое каждого раздела.
- Проверьте наличие текста и изображений и подготовьте список пустых страниц.
- Создайте новый пустой документ Word.
- Append все страницы, имеющие некоторый контент из исходного файла Word, используя список пустых страниц.
- Сохраните полученный файл 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.