Python Word Automation

Vi kan automatisera MS Word för att skapa nya Word-dokument (DOC eller DOCX), redigera eller modifiera befintliga eller konvertera dem till andra format utan att använda Microsoft Office. Python MS Word-automatisering tillåter att utföra alla åtgärder programmatiskt som vi kan utföra genom användargränssnittet för MS Word. I den här artikeln kommer vi att lära oss hur man automatiserar MS Word för att skapa, redigera eller konvertera Word-dokument med Python.

Den här artikeln täcker alla grundläggande funktioner som krävs för att generera och manipulera Word-dokument programmatiskt med Python. Den här artikeln innehåller följande ämnen:

Python MS Word Automation API för att skapa, redigera eller konvertera Word-dokument

För att automatisera Word kommer vi att använda Aspose.Words for Python API. Det är en komplett och funktionsrik Word-automatiseringslösning för att skapa, redigera eller analysera Word-dokument programmatiskt. API-klassen Document representerar ett Word-dokument. API:et tillhandahåller klassen DocumentBuilder som erbjuder olika metoder för att infoga text, bilder och annat innehåll i dokumentet. Den här klassen gör det också möjligt att specificera teckensnitt, stycke och avsnittsformatering. API-klassen Run representerar en serie tecken med samma teckensnittsformatering. Installera biblioteket i din Python-applikation från PyPI med följande pip-kommando.

pip install aspose-words

Skapa Word-dokument med Python

Vi kan skapa Word-dokument programmatiskt genom att följa stegen nedan:

  • Skapa först en instans av klassen Document.
  • Skapa sedan en instans av klassen DocumentBuilder med Document-objektet som argument.
  • Efter det, infoga/skriv element för att lägga till text, stycken, tabeller eller bilder med hjälp av DocumentBuilder-objektet.
  • Till sist, anropa metoden save() med utdatafilens sökväg som ett argument för att spara den skapade filen.

Följande kodexempel visar hur man skapar ett Word-dokument (DOCX) med Python.

import aspose.words as aw

# Detta kodexempel visar hur man skapar ett nytt Word-dokument med Python.
# Skapa dokumentobjekt
doc = aw.Document()

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

# Ange teckensnittsformatering Font
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE

# Infoga text
builder.writeln("Welcome")
builder.writeln()

# Ställ in styckeformatering
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE

paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# Infoga stycke
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks. 
    It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others. 
    With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()

# Infoga en tabell
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# 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("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()

builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()

# Slutbord
builder.end_table()
builder.writeln()

# Infoga bild
builder.insert_image("C:\\Files\\aspose-icon.png")

# Spara dokument
doc.save("C:\\Files\\sample_output.docx")
Skapa Word-dokument

Skapa Word-dokument med Python.

Redigera eller ändra Word-dokument med Python

I föregående avsnitt skapade vi ett Word-dokument. Låt oss nu redigera det och ändra innehållet i dokumentet. Vi kan redigera Word-dokument genom att följa stegen nedan:

  • Ladda först ett befintligt Word-dokument med klassen Document.
  • Gå sedan till det specifika avsnittet genom dess index.
  • Öppna sedan innehållet i första stycket som ett objekt i klassen Run.
  • Efter det ställer du in texten så att den uppdateras för det öppnade stycket.
  • Till sist, anropa metoden save() med utdatafilens sökväg för att spara den uppdaterade filen.

Följande kodexempel visar hur man redigerar ett Word-dokument (DOCX) med Python.

import aspose.words as aw

# Detta kodexempel visar hur man redigerar ett befintligt Word-dokument.
# Ladda dokumentet
doc = aw.Document("C:\\Files\\sample_output.docx")

# Initiera dokumentbyggaren
builder = aw.DocumentBuilder(doc)

# Gå till stycket
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# Spara dokumentet
doc.save("C:\\Files\\sample_updated.docx")
Redigera eller ändra Word-dokument

Redigera eller ändra Word-dokument med Python.

Hitta och ersätt text i Word-dokument med Python

Vi kan också hitta vilken text som helst och ersätta den med en ny text genom att följa stegen nedan:

  • Först laddar du ett Word-dokument med klassen Document.
  • Skapa sedan en instans av klassen FindReplaceOptions.
  • Efter det, anropa replace() -metoden. Det tar söksträngen, ersätt-strängen och objektet FindReplaceOptions som argument.
  • Till sist, anropa metoden save() med utdatafilens sökväg för att spara den uppdaterade filen.

Följande kodexempel visar hur du hittar och ersätter specifik text i ett Word-dokument (DOCX) med Python.

import aspose.words as aw

# Detta kodexempel visar hur man hittar och ersätter text i Word-dokument.
# Ladda dokumentet
doc = aw.Document("C:\\Files\\sample_output.docx")

# Uppdatera med sök och ersätt
# Ange söksträngen och ersätt sträng med metoden Ersätt.
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# Spara dokumentet
doc.save("C:\\Files\\find_and_replace.docx")
Hitta och ersätt text i Word-dokument

Hitta och ersätt text i Word-dokument.

Konvertera Word-dokument med Python

Vi kan konvertera Word-dokument till andra format som PDF, XPS, EPUB, HTML, JPG, PNG, etc. Följ stegen nedan för att konvertera ett Word-dokument till en HTML-webbsida:

  • Först laddar du ett Word-dokument med klassen Document.
  • Skapa sedan en instans av klassen HtmlSaveOptions med Document-objektet som argument.
  • Efter det anger du egenskaperna cssstylesheettype, exportfontresources, resursmapp och alias.
  • Till sist, anropa metoden save() med utdatafilens sökväg och HtmlSaveOptions-objektet som argument för att spara den konverterade HTML-filen.

Följande kodexempel visar hur man konverterar ett Word-dokument (DOCX) till HTML med Python.

import aspose.words as aw

# Detta kodexempel visar hur man konverterar ett Word-dokument till PDF.
# Ladda ett befintligt Word-dokument
doc = aw.Document("C:\\Files\\sample_output.docx")

# Ange sparalternativ
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"

# Spara det konverterade dokumentet
doc.save("C:\\Files\\Converted.html", saveOptions)

På samma sätt kan vi också konvertera Word-dokument till andra format som stöds. Läs mer om hur du konverterar Word till EPUB, Word till PDF, Word-dokument till Markdown, Word till JPG- eller PNG-bilder i dokumentationen .

Analysera Word-dokument med Python

Vi kan analysera Word-dokument och extrahera innehållet som vanlig text genom att följa stegen nedan:

  • Först laddar du ett Word-dokument med klassen Document.
  • Därefter, extrahera och skriv ut texten.
  • Till sist, anropa metoden save() för att spara Word-dokumentet som en textfil. Denna metod tar sökvägen till utdatafilen som ett argument.

Följande kodexempel visar hur man analyserar ett Word-dokument (DOCX) med Python.

import aspose.words as aw

# Detta kodexempel visar hur man tolkar ett Word-dokument.
# Ladda dokumentet
doc = aw.Document("C:\\Files\\Sample.docx")

# Extrahera text
print(doc.range.text)

# Spara som vanlig text
doc.save("C:\\Files\\output.txt")

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • automatisera MS Word med Python;
  • skapa och redigera Word-dokument programmatiskt;
  • analysera eller konvertera DOCX-filer;
  • hitta och ersätta text i Word-dokument med Python.

Dessutom kan du lära dig mer om Aspose.Words for Python API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forumet.

Se även