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
- Skapa en Word DOCX/DOC-fil i Python
- Ladda ett befintligt Word-dokument
- Infoga stycke i ett Word-dokument
- Lägg till tabell i ett Word-dokument
- Lägg till lista i en Word DOCX/DOC-fil
- Infoga bild i ett Word-dokument
- Lägg till innehållsförteckning i en Word-fil
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
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
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
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
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 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
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.