Dividir documentos do Word em vários arquivos em Python

Em certos casos, você precisa dividir os grandes documentos do Word dividindo-os em menores. Você pode dividir um documento do Word por páginas, seções ou colunas. Neste artigo, você aprenderá como dividir um documento do Word em vários arquivos usando Python. O guia passo a passo e os exemplos de código demonstrarão como dividir um documento do Word por seções, páginas ou intervalos de páginas de forma programática.

Biblioteca Python para dividir documentos do MS Word

Para dividir um documento DOCX ou DOC em vários arquivos, usaremos Aspose.Words for Python. É uma biblioteca de processamento de texto para criar e manipular documentos do Word. Você pode instalá-lo em seus aplicativos Python de PyPI usando o seguinte comando pip.

pip install aspose-words 

Dividir um documento do Word por seções em Python

Na maioria dos casos, o documento do Word é dividido em várias seções usando quebras de seção. Para salvar cada seção em um arquivo separado, você pode dividir o documento por seções. As etapas a seguir demonstram como dividir um documento do Word por seções em Python.

  • Carregue o documento do Word usando a classe Document.
  • Faça um loop em cada seção na coleção Document.sections.
  • Para cada seção na coleção, execute as seguintes etapas:
    • Crie um novo objeto da classe Document.
    • Limpe as seções padrão usando o método Document.sections.clear().
    • Importe a seção para um novo documento usando o método Document.importnode(Section, True).assection() e obtenha a Section retornada em um objeto.
    • Adicione a Seção retornada à coleção de seções do novo documento.
    • Salve o novo documento como um arquivo DOCX usando o método Document.save(string).

O exemplo de código a seguir mostra como dividir um documento do Word por seções em Python.

import aspose.words as aw

# load Word document
doc = aw.Document("document.docx")

for i in range(0, doc.sections.count) :
            
    # clone the section to split
    section = doc.sections[i].clone()

    # create an instance of Document class for new doucment
    newDoc = aw.Document()
    
    # clear the default sections
    newDoc.sections.clear()

    # inster section into new document
    newSection = newDoc.import_node(section, True).as_section()
    newDoc.sections.add(newSection)

    # Save section as a separate document
    newDoc.save(f"split_by_sections_{i}.docx")

Dividindo um documento do Word por páginas em Python

Agora, vamos dar uma olhada em como dividir cada página do documento e salvá-lo como um arquivo DOCX separado. A seguir estão as etapas para dividir um documento do Word por páginas.

  • Carregue o documento do Word usando a classe Document.

  • Obtenha a contagem de páginas no documento usando a propriedade Document.pagecount.

  • Percorra a contagem de páginas e em cada iteração, execute as seguintes etapas:

    • Extraia a página em um objeto usando o método Document.extractpages(pageIndex, 1).

    • Salve a página extraída como um arquivo DOCX usando o método Document.save(string).

O exemplo de código a seguir mostra como dividir um documento do Word por páginas.

import aspose.words as aw

# load Word document
doc = aw.Document("document.docx")

# get page count
pageCount = doc.page_count

# loop through pages
for page in range(0, pageCount):
  
    # save each page as a separate document
    extractedPage = doc.extract_pages(page, 1)
    extractedPage.save(f"split_by_page_{page + 1}.docx")

Dividir um documento do Word por um intervalo de páginas em Python

Você também pode dividir um intervalo de páginas em um documento do Word e salvá-lo como um arquivo separado. A seguir estão as etapas para conseguir isso em Python.

  • Carregue o documento do Word usando a classe Document.
  • Extraia as páginas usando o método Document.extractpages(int, int) onde o primeiro parâmetro é o índice da página inicial e o segundo é o número de páginas.
  • Salve o intervalo de páginas extraído como um arquivo DOCX usando o método Document.save(string).

O exemplo de código a seguir mostra como extrair um intervalo de páginas de um documento do Word e salvá-lo como um arquivo DOCX.

import aspose.words as aw

# load Word document
doc = aw.Document("document.docx")

# extract range of pages
extractedPages = doc.extract_pages(3, 6)

# save pages as a separate document
extractedPages.save("split_by_page_range.docx")

Obtenha uma licença de API gratuita

Você está interessado em experimentar o Aspose.Words for Python gratuitamente? Obter uma licença temporária para evitar limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como dividir um documento do Word em vários documentos em Python. Os exemplos de código demonstraram como dividir um documento do Word por seções, páginas ou um intervalo de páginas. O Aspose.Words para Python também fornece vários recursos interessantes que você pode explorar usando a documentação. Além disso, você pode postar suas perguntas em nosso fórum.

Veja também