Dividi i documenti di Word in più file in Python

In alcuni casi, è necessario dividere i documenti Word di grandi dimensioni suddividendoli in documenti più piccoli. Puoi dividere un documento di Word per pagine, sezioni o colonne. In questo articolo imparerai come dividere un documento Word in più file usando Python. La guida dettagliata e gli esempi di codice dimostreranno come dividere un documento di Word per sezioni, pagine o intervalli di pagine a livello di codice.

Libreria Python per dividere documenti MS Word

Per dividere un documento DOCX o DOC in più file, useremo Aspose.Words for Python. È una libreria di elaborazione testi per creare e manipolare documenti Word. Puoi installarlo nelle tue applicazioni Python da PyPI usando il seguente comando pip.

pip install aspose-words 

Dividi un documento di Word per sezioni in Python

Nella maggior parte dei casi, il documento di Word è suddiviso in più sezioni mediante interruzioni di sezione. Per salvare ogni sezione in un file separato, puoi dividere il documento per sezioni. I passaggi seguenti mostrano come dividere un documento di Word per sezioni in Python.

  • Carica il documento di Word usando la classe Document.
  • Passa in rassegna ogni sezione nella raccolta Document.sections.
  • Per ciascuna sezione della raccolta, attenersi alla seguente procedura:
    • Crea un nuovo oggetto della classe Document.
    • Cancella le sezioni predefinite usando il metodo Document.sections.clear().
    • Importa la sezione nel nuovo documento usando il metodo Document.importnode(Section, True).assection() e ottieni la sezione restituita in un oggetto.
    • Aggiungi la sezione restituita alla raccolta di sezioni del nuovo documento.
    • Salva il nuovo documento come file DOCX utilizzando il metodo Document.save(string).

L’esempio di codice seguente mostra come dividere un documento di Word per sezioni in 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")

Dividere un documento di Word per Pages in Python

Ora, diamo un’occhiata a come dividere ogni pagina del documento e salvarla come file DOCX separato. Di seguito sono riportati i passaggi per dividere un documento di Word per pagine.

  • Carica il documento di Word usando la classe Document.

  • Ottieni il conteggio delle pagine nel documento utilizzando la proprietà Document.pagecount.

  • Scorri il conteggio delle pagine e in ogni iterazione, esegui i seguenti passaggi:

    • Estrarre la pagina in un oggetto utilizzando il metodo Document.extractpages(pageIndex, 1).

    • Salva la pagina estratta come file DOCX utilizzando il metodo Document.save(string).

Nell’esempio di codice seguente viene illustrato come dividere un documento di Word per pagine.

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")

Dividi un documento di Word per un intervallo di pagine in Python

Puoi anche dividere un intervallo di pagine in un documento di Word e salvarlo come file separato. Di seguito sono riportati i passaggi per ottenere ciò in Python.

  • Carica il documento di Word usando la classe Document.
  • Estrarre le pagine utilizzando il metodo Document.extractpages(int, int) dove il primo parametro è l’indice della pagina iniziale e il secondo è il numero di pagine.
  • Salva l’intervallo di pagine estratte come file DOCX utilizzando il metodo Document.save(string).

Nell’esempio di codice seguente viene illustrato come estrarre un intervallo di pagine da un documento di Word e salvarlo come file 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")

Ottieni una licenza API gratuita

Sei interessato a provare Aspose.Words per Python gratuitamente? Ottieni una licenza temporanea per evitare limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come dividere un documento Word in più documenti in Python. Gli esempi di codice hanno dimostrato come dividere un documento di Word per sezioni, pagine o un intervallo di pagine. Aspose.Words per Python fornisce anche una serie di interessanti funzionalità che puoi esplorare usando la documentazione. Inoltre, puoi pubblicare le tue domande nel nostro forum.

Guarda anche