Python Word Automation

Possiamo automatizzare MS Word per creare nuovi documenti Word (DOC o DOCX), modificare o modificare quelli esistenti o convertirli in altri formati senza utilizzare Microsoft Office. L’automazione di Python MS Word consente di eseguire tutte le azioni a livello di codice che possiamo eseguire tramite l’interfaccia utente di MS Word. In questo articolo impareremo come automatizzare MS Word per creare, modificare o convertire documenti Word utilizzando Python.

Questo articolo illustra tutte le funzionalità di base necessarie per generare e manipolare documenti di Word a livello di codice usando Python. Questo articolo include i seguenti argomenti:

API Python MS Word Automation per creare, modificare o convertire documenti Word

Per automatizzare Word, utilizzeremo l’API Aspose.Words for Python. È una soluzione di automazione di Word completa e ricca di funzionalità per creare, modificare o analizzare documenti di Word a livello di codice. La classe Document dell’API rappresenta un documento Word. L’API fornisce la classe DocumentBuilder che offre vari metodi per inserire testo, immagini e altro contenuto nel documento. Questa classe consente anche di specificare il carattere, il paragrafo e la formattazione della sezione. La classe Run dell’API rappresenta una sequenza di caratteri con la stessa formattazione del carattere. Installa la libreria nella tua applicazione Python da PyPI usando il seguente comando pip.

pip install aspose-words

Crea documenti Word usando Python

Possiamo creare documenti Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza della classe Document.
  • Quindi, crea un’istanza della classe DocumentBuilder con l’oggetto Document come argomento.
  • Successivamente, inserisci/scrivi elementi per aggiungere testo, paragrafi, tabelle o immagini utilizzando l’oggetto DocumentBuilder.
  • Infine, chiama il metodo save() con il percorso del file di output come argomento per salvare il file creato.

L’esempio di codice seguente mostra come creare un documento di Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to create a new Word document using Python.
# Create document object
doc = aw.Document()

# Create a document builder object
builder = aw.DocumentBuilder(doc)

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

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

# Set paragraph formatting
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

# Insert paragraph
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()

# Insert a Table
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# Start table
table = builder.start_table()

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

# Set formatting and add 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()

# End table
builder.end_table()
builder.writeln()

# Insert image
builder.insert_image("C:\\Files\\aspose-icon.png")

# Save document
doc.save("C:\\Files\\sample_output.docx")
Crea documenti Word

Crea documenti Word usando Python.

Modifica o modifica documenti di Word usando Python

Nella sezione precedente, abbiamo creato un documento Word. Ora modifichiamolo e cambiamo il contenuto del documento. Possiamo modificare i documenti di Word seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word esistente utilizzando la classe Document.
  • Successivamente, accedi alla sezione specifica tramite il suo indice.
  • Quindi, accedi al contenuto del primo paragrafo come oggetto della classe Run.
  • Successivamente, imposta il testo da aggiornare per il paragrafo a cui si accede.
  • Infine, chiama il metodo save() con il percorso del file di output per salvare il file aggiornato.

L’esempio di codice seguente mostra come modificare un documento di Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to edit an existing Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Initialize document builder
builder = aw.DocumentBuilder(doc)

# Access the paragraph
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# Save the document
doc.save("C:\\Files\\sample_updated.docx")
Modifica o modifica documenti di Word

Modifica o modifica documenti di Word usando Python.

Trova e sostituisci testo nei documenti di Word usando Python

Possiamo anche trovare qualsiasi testo e sostituirlo con un nuovo testo seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word utilizzando la classe Document.
  • Quindi, crea un’istanza della classe FindReplaceOptions.
  • Dopodiché, chiama il metodo replace(). Prende la stringa di ricerca, la stringa di sostituzione e l’oggetto FindReplaceOptions come argomenti.
  • Infine, chiama il metodo save() con il percorso del file di output per salvare il file aggiornato.

L’esempio di codice seguente mostra come trovare e sostituire testo specifico in un documento di Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to find and replace text in Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Update using find and replace
# Specify the search string and replace string using the Replace method.
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# Save the document
doc.save("C:\\Files\\find_and_replace.docx")
Trova e sostituisci testo nei documenti di Word

Trova e sostituisci testo nei documenti di Word.

Converti documenti Word usando Python

Siamo in grado di convertire documenti Word in altri formati come PDF, XPS, EPUB, HTML, JPG, PNG, ecc. Segui i passaggi indicati di seguito per convertire un documento Word in una pagina Web HTML:

  • Innanzitutto, carica un documento Word utilizzando la classe Document.
  • Quindi, crea un’istanza della classe HtmlSaveOptions con l’oggetto Document come argomento.
  • Successivamente, specifica le proprietà cssstylesheettype, exportfontresources, cartella delle risorse e alias.
  • Infine, chiama il metodo save() con il percorso del file di output e l’oggetto HtmlSaveOptions come argomenti per salvare il file HTML convertito.

L’esempio di codice seguente mostra come convertire un documento di Word (DOCX) in HTML usando Python.

import aspose.words as aw

# This code example demonstrates how to convert a Word document to PDF.
# Load an existing Word document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Specify save options
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"

# Save the converted document
doc.save("C:\\Files\\Converted.html", saveOptions)

Allo stesso modo, possiamo anche convertire documenti Word in altri formati supportati. Leggi di più su come convertire Word to EPUB, Word to PDF, Word document to Markdown, Word to JPG o PNG images nella documentazione .

Analizza documenti di Word usando Python

Possiamo analizzare i documenti di Word ed estrarre il contenuto come testo normale seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un documento Word utilizzando la classe Document.
  • Quindi, estrai e stampa il testo.
  • Infine, chiama il metodo save() per salvare il documento di Word come file di testo. Questo metodo prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come analizzare un documento di Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to parse a Word document.
# Load the document
doc = aw.Document("C:\\Files\\Sample.docx")

# Extract text
print(doc.range.text)

# Save as plain text
doc.save("C:\\Files\\output.txt")

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • automatizzare MS Word usando Python;
  • creare e modificare documenti Word a livello di codice;
  • analizzare o convertire file DOCX;
  • trova e sostituisci il testo nei documenti di Word usando Python.

Inoltre, puoi saperne di più su Aspose.Words per l’API Python usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche