Dela upp Word-dokument i flera filer i Python

I vissa fall måste du dela upp de stora Word-dokumenten genom att dela upp dem i mindre. Du kan dela upp ett Word-dokument efter sidor, avsnitt eller kolumner. I den här artikeln kommer du att lära dig hur du delar upp ett Word-dokument i flera filer med Python. Steg-för-steg-guiden och kodexemplen visar hur man delar ett Word-dokument efter sektioner, sidor eller sidintervall programmatiskt.

Python-bibliotek för att dela MS Word-dokument

För att dela upp ett DOCX- eller DOC-dokument i flera filer kommer vi att använda Aspose.Words for Python. Det är ett ordbehandlingsbibliotek för att skapa och manipulera Word-dokument. Du kan installera det i dina Python-applikationer från PyPI med följande pip-kommando.

pip install aspose-words 

Dela upp ett Word-dokument efter sektioner i Python

I de flesta fall är Word-dokumentet uppdelat i flera avsnitt med avsnittsbrytningar. För att spara varje avsnitt i en separat fil kan du dela upp dokumentet efter avsnitt. Följande steg visar hur man delar upp ett Word-dokument efter sektioner i Python.

  • Ladda Word-dokumentet med dokumentklassen.
  • Gå igenom varje sektion i Document.sections-samlingen.
  • Utför följande steg för varje avsnitt i samlingen:
    • Skapa ett nytt objekt av klassen Document.
    • Rensa standardsektionerna med metoden Document.sections.clear().
    • Importera sektionen till nytt dokument med metoden Document.importnode(Section, True).assection() och hämta den returnerade sektionen i ett objekt.
    • Lägg till returnerad sektion till sektionssamlingen i nytt dokument.
    • Spara det nya dokumentet som en DOCX-fil med metoden Document.save(string).

Följande kodexempel visar hur man delar upp ett Word-dokument efter sektioner i Python.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

for i in range(0, doc.sections.count) :
            
    # klona avsnittet för att dela
    section = doc.sections[i].clone()

    # skapa en instans av dokumentklassen för nytt dokument
    newDoc = aw.Document()
    
    # rensa standardavsnitten
    newDoc.sections.clear()

    # infoga avsnittet i ett nytt dokument
    newSection = newDoc.import_node(section, True).as_section()
    newDoc.sections.add(newSection)

    # Spara avsnittet som ett separat dokument
    newDoc.save(f"split_by_sections_{i}.docx")

Dela upp ett Word-dokument efter sidor i Python

Låt oss nu ta en titt på hur man delar upp varje sida i dokumentet och sparar den som en separat DOCX-fil. Följande är stegen för att dela upp ett Word-dokument efter sidor.

  • Ladda Word-dokumentet med dokumentklassen.

  • Hämta sidantal i dokumentet med egenskapen Document.pagecount.

  • Gå igenom sidantalet och utför följande steg i varje iteration:

    • Extrahera sidan till ett objekt med metoden Document.extractpages(pageIndex, 1).

    • Spara den extraherade sidan som en DOCX-fil med metoden Document.save(string).

Följande kodexempel visar hur man delar upp ett Word-dokument efter sidor.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

# få sidantal
pageCount = doc.page_count

# gå igenom sidorna
for page in range(0, pageCount):
  
    # spara varje sida som ett separat dokument
    extractedPage = doc.extract_pages(page, 1)
    extractedPage.save(f"split_by_page_{page + 1}.docx")

Dela ett Word-dokument efter ett sidintervall i Python

Du kan också dela upp ett antal sidor i ett Word-dokument och spara det som en separat fil. Följande är stegen för att uppnå detta i Python.

  • Ladda Word-dokumentet med dokumentklassen.
  • Extrahera sidorna med metoden Document.extractpages(int, int) där den första parametern är startsidans index och den andra är antalet sidor.
  • Spara det extraherade sidintervallet som en DOCX-fil med metoden Document.save(string).

Följande kodexempel visar hur man extraherar en rad sidor från ett Word-dokument och sparar det som en DOCX-fil.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

# extrahera ett antal sidor
extractedPages = doc.extract_pages(3, 6)

# spara sidor som ett separat dokument
extractedPages.save("split_by_page_range.docx")

Skaffa en gratis API-licens

Är du intresserad av att prova Aspose.Words för Python gratis? Få en tillfällig licens för att undvika utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du delar upp ett Word-dokument i flera dokument i Python. Kodexemplen har visat hur man delar upp ett Word-dokument efter sektioner, sidor eller ett sidintervall. Aspose.Words för Python tillhandahåller också ett antal spännande funktioner som du kan utforska med hjälp av dokumentationen. Du kan också posta dina frågor till vårt forum.

Se även