Ordautomatisering i Python

MS Word-filer används oerhört mycket för att skapa olika typer av dokument såsom fakturor, rapporter, tekniska artiklar etc. Dokumentautomatisering har underlättat för användare att skapa Word-dokument dynamiskt från sina webb- eller skrivbordsportaler. Därför kommer vi i den här artikeln att täcka hur man genererar Word-dokument i Python utan MS Office. Dessutom kommer du att lära dig hur du skapar en DOCX- eller DOC-fil och lägger till text eller andra element i den dynamiskt med Python.

Python-bibliotek för att skapa Word-dokument

För att skapa Word-dokument dynamiskt kommer vi att använda Aspose.Words for Python. Det är ett kraftfullt Python-bibliotek som låter dig skapa och manipulera MS Word-dokument sömlöst. Du kan installera biblioteket i din Python-applikation från PyPI med följande pip-kommando.

pip install aspose-words

Skapa en Word DOCX- eller DOC-fil i Python

Följande är stegen för att skapa ett Word-dokument från början i Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Infoga text i dokumentet med metoden DocumentBuilder.write().
  • Spara Word-dokumentet med metoden Document.save().

Python-kod för att skapa ett Word-dokument

Följande kodexempel visar hur man skapar ett Word DOCX-dokument.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# lägga till text i dokumentet
builder.write("Hello world!")

# spara dokument
doc.save("out.docx")

Produktion

skapa Word-dokument python

Hur man laddar ett Word-dokument i Python

Du kan också ladda ett befintligt Word-dokument genom att ange sökvägen till dokumentkonstruktorn. Följande kodexempel visar hur man laddar ett Word-dokument.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document("document.docx")

# manipulera dokument

# spara dokument
doc.save("out.docx")

Python Skapa ett Word-dokument - Infoga stycke

Word-dokument innehåller text i form av stycken. Därför kommer vi i det här avsnittet att visa hur man infogar ett stycke i ett Word-dokument med Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Hämta en referens för teckensnitt från Documentbuilder-objektet och ställ in teckensnitt.
  • Hämta referensen till styckeformatet från Documentbuilder-objektet och ställ in indrag, justering, etc.
  • Infoga text i stycket med metoden DocumentBuilder.write().
  • Spara Word-dokumentet med metoden Document.save().

Följande kodexempel visar hur man infogar ett stycke i ett Word-dokument med Python.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# skapa teckensnitt
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# ställ in styckeformatering
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# Lägg till text
builder.writeln("A whole paragraph.")

# spara dokument
doc.save("out.docx")

Produktion

skapa stycke i word-dokument python

Läs mer om att arbeta med stycken i Word-dokument med Python.

Skapa tabell i ett Word-dokument i Python

Tabeller är en integrerad del av dokument för att visa information i form av rader och kolumner. Aspose.Words för Python gör det ganska lättare att arbeta med tabeller. Följande är stegen för att lägga till en tabell i ett Word-dokument med Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Starta en tabell med metoden DocumentBuilder.starttable() och få referens till tabellen i ett objekt.
  • Infoga en cell med metoden DocumentBuilder.insertcell().
  • Ställ in automatisk passning med metoden autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Ställ in justering av cellen.
  • Infoga text i cellen med metoden DocumentBuilder.write().
  • Upprepa infogning av celler och text i celler efter behov.
  • Avsluta en rad när du är klar med att infoga celler.
  • Avsluta tabell när du har infogat alla rader.
  • Spara Word-dokumentet med metoden Document.save().

Följande kodexempel visar hur man infogar en tabell i ett Word-dokument med Python.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# starttabell
table = builder.start_table()

# infoga cell 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# ställ in formatering och lägg till text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# infoga cell
builder.insert_cell()
builder.write("This is row 1 cell 2")

# ändraden
builder.end_row()

# infoga en annan cell i nästa rad
builder.insert_cell()

# formatera rad om det behövs
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# formatera cell och lägg till text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, ställ in formatering och lägg till text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# ändraden
builder.end_row()

# ändbord
builder.end_table()

# spara dokument
doc.save("out.docx")

Produktion

skapa tabell i Word-dokument python

Lär dig mer om hur du arbetar med tabeller i Word-dokument med Python.

Python: Skapa en lista i Word-dokument

Följande är stegen för att skapa en lista i ett Word-dokument med Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Ställ in formatering med metoden DocumentBuilder.listformat.applynumberdefault().
  • Infoga objekt med DocumentBuilder.writeln(“Artikel 1”) metoden.
  • Infoga det andra objektet med metoden DocumentBuilder.writeln(“Artikel 2”).
  • Om du vill infoga objekt på nästa nivå i listan, anropar du metoden DocumentBuilder.listformat.listindent() och infogar objekt.
  • Ta bort nummer från listan med metoden DocumentBuilder.listformat.removenumbers().
  • Spara Word-dokumentet med metoden Document.save().

Följande kodexempel visar hur man skapar en lista i Word-dokument med Python.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# ställ in listformatering
builder.list_format.apply_number_default()

# infoga objekt
builder.writeln("Item 1")
builder.writeln("Item 2")

# ställ in indrag för nästa nivå i listan
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# indrag igen för nästa nivå
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent för att komma tillbaka till föregående nivå
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# gå ut igen för att komma tillbaka till första nivån
builder.list_format.list_outdent()
builder.writeln("Item 3")

# ta bort siffror
builder.list_format.remove_numbers()

# spara dokument
doc.save("out.docx")

Produktion

skapa lista i Word-dokument python

Läs mer om att arbeta med listor i Word-dokument med Python.

Infoga bilder i ett Word-dokument i Python

När du arbetar med Word-dokument kan du inte ignorera grafiska objekt som bilder. Så låt oss ta en titt på hur man infogar bilder i ett Word-dokument dynamiskt med Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Infoga bild med metoden DocumentBuilder.insertimage() och skicka bildfilens sökväg som parameter.
  • Spara Word-dokumentet med metoden Document.save().

Följande kodexempel visar hur man infogar en bild i ett Word-dokument med Python.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# Lägg till bild
builder.insert_image("Logo.jpg")

# spara dokument
doc.save("out.docx")

Produktion

skapa bild i Word-dokument python

Skapa innehållsförteckning i Word-dokument i Python

I olika fall innehåller Word-dokument en innehållsförteckning (TOC). TOC ger dig en översikt över innehållet i Word-dokumentet. Följande steg visar hur man lägger till en innehållsförteckning i Word-dokument med Python.

  • Skapa ett objekt av klassen Document.
  • Skapa ett objekt av klassen DocumentBuilder.
  • Infoga innehållsförteckning med metoden DocumentBuilder.inserttableofcontents().
  • Infoga en sidbrytning efter innehållsförteckningen med metoden DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
  • När du har lagt till/uppdaterat innehållet i dokumentet uppdaterar du innehållsförteckningen med metoden Document.updatefields().
  • Spara Word-dokumentet med metoden Document.save().

Följande kodexempel visar hur man infogar en innehållsförteckning i ett Word-dokument med Python.

import aspose.words as aw

# skapa dokumentobjekt
doc = aw.Document()

# skapa ett dokumentbyggarobjekt
builder = aw.DocumentBuilder(doc)

# infoga innehållsförteckning
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# starta själva dokumentinnehållet på den andra sidan
builder.insert_break(aw.BreakType.PAGE_BREAK)

# lägga till innehåll
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# den nyligen infogade innehållsförteckningen kommer initialt att vara tom
# det måste fyllas i genom att uppdatera fälten i dokumentet
doc.update_fields()

# spara dokument
doc.save("out.docx")

Produktion

skapa toc i word-dokument python

Läs mer om att arbeta med innehållsförteckningen med Python.

Skapa Word-dokument med en gratis licens

Du kan få en gratis tillfällig licens för att generera MS Word-dokument utan utvärderingsbegränsningar.

Python Word Automation Library - Läs mer

Den här artikeln behandlade några grundläggande funktioner för att skapa Word-dokument och infoga olika element. Aspose.Words för Python tillhandahåller också en massa andra funktioner som du kan utforska med hjälp av dokumentationen.

Slutsats

I den här artikeln har du lärt dig hur du skapar Word DOCX- eller DOC-filer i Python. Dessutom har du sett hur du infogar text, bilder, tabeller, listor och innehållsförteckningar dynamiskt i Word-dokument. Du kan prova API:et och dela din feedback eller frågor via vårt forum.

Se även

Konvertera Word-filer till PDF med PythonAutomatisera MS Word Mail Merge i PythonKombinera Word-dokument i Python
Jämför Word-dokument i PythonArbeta med VBA-makron i Word-dokument med PythonKopiera innehållet i ett Word-dokument till ett annat i C#
Kopiera innehållet i ett Word-dokument till ett annat i JavaKopiera innehållet i ett Word-dokument till ett annat i PythonSkapa MS PowerPoint-presentationer i Python
Skapa tabell i Word-dokument med PythonExtrahera text från Word-dokument i C#Extrahera text från Word-dokument i Python
Hitta och ersätt text i Word-dokument i PythonSkydda Word-dokument i PythonAvskydda Word-dokument i Python
Dela ett Word-dokument i flera filer i Python