Este artigo descreve como remover uma página em branco em Word usando Python. Ele contém os detalhes para definir o ambiente, uma lista de etapas e um código de exemplo executável que mostra como excluir uma página vazia no Word usando Python. O código de exemplo pode ser usado como está para executar a tarefa, no entanto, você pode improvisá-lo adicionando condições diferentes, se necessário.
Etapas para excluir a página em branco no Word usando Python
- Defina o ambiente de desenvolvimento para usar Aspose.Words para Python via .NET para excluir as páginas em branco
- Carregue o arquivo Word de origem no objeto Document contendo páginas em branco
- Itere por todas as páginas do documento e verifique o conteúdo de cada seção
- Verifique a presença de texto e imagens e prepare uma lista de páginas vazias
- Crie um novo documento do Word vazio
- Append todas as páginas com algum conteúdo do arquivo Word de origem usando a lista de páginas em branco
- Salve o arquivo Word resultante sem nenhuma página em branco
Estas etapas explicam o processo de como remover uma página em branco do Word usando Python. Neste processo, o arquivo Word de origem é carregado e todas as seções de cada página são examinadas quanto à presença de texto ou imagens para preparar uma lista de páginas em branco. No final, um novo documento é criado e todas as páginas, exceto as páginas em branco, são adicionadas a este novo documento vazio.
Código para remover página em branco no Word usando 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") |
Este código de exemplo demonstra como excluir uma página vazia do Word usando Python. Neste código de exemplo, o texto do corpo e o tipo de nó SHAPE são testados para cada seção, porém você pode usar outros tipos como TABLE, COMMENT, FORM_FIELD, SMART_TAG, etc. O método append_document() é usado para adicionar páginas ao novo arquivo Word, embora contenha vários métodos sobrecarregados que permitem diferentes argumentos para a customização do processo de inserção de páginas.
Este artigo nos ensinou como remover páginas vazias no Word usando Python. Se você quiser colocar números de página em um arquivo Word, consulte o artigo em como colocar o número da página no Word usando Python.