Automazione delle parole in Python

I file MS Word sono immensamente utilizzati per creare vari tipi di documenti come fatture, report, articoli tecnici, ecc. L’automazione dei documenti ha facilitato gli utenti a generare documenti Word in modo dinamico dai loro portali Web o desktop. Pertanto, in questo articolo, tratteremo come generare documenti Word in Python senza MS Office. Inoltre, imparerai come creare un file DOCX o DOC e aggiungere testo o altri elementi in esso dinamicamente usando Python.

API Python per creare documenti Word

Per creare documenti Word in modo dinamico, useremo Aspose.Words for Python. È una potente libreria Python che ti consente di creare e manipolare documenti MS Word senza problemi. Puoi installare la libreria nella tua applicazione Python da PyPI usando il comando pip seguente.

pip install aspose-words

Crea un file Word DOCX o DOC in Python

Di seguito sono riportati i passaggi per creare un documento Word da zero in Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Inserisci il testo nel documento usando il metodo DocumentBuilder.write().
  • Salva il documento di Word usando il metodo Document.save().

Nell’esempio di codice seguente viene illustrato come creare un documento Word DOCX.

import aspose.words as aw

# create document object
doc = aw.Document()

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

# add text to the document
builder.write("Hello world!")

# save document
doc.save("out.docx")

Produzione

crea python per documenti word

Carica un documento Word esistente in Python

Puoi anche caricare un documento Word esistente fornendo il suo percorso al costruttore del documento. Nell’esempio di codice seguente viene illustrato come caricare un documento di Word.

import aspose.words as aw

# create document object
doc = aw.Document("document.docx")

# manipulate document

# save document
doc.save("out.docx")

Inserisci un paragrafo in un documento di Word usando Python

I documenti di Word contengono testo sotto forma di paragrafi. Pertanto, in questa sezione, dimostreremo come inserire un paragrafo in un documento Word utilizzando Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Ottieni il riferimento del carattere dall’oggetto Documentbuilder e imposta il carattere.
  • Ottieni il riferimento del paragrafo daat dall’oggetto Documentbuilder e imposta il rientro, l’allineamento, ecc.
  • Inserisci il testo nel paragrafo usando il metodo DocumentBuilder.write().
  • Salva il documento di Word usando il metodo Document.save().

L’esempio di codice seguente mostra come inserire un paragrafo in un documento di Word usando Python.

import aspose.words as aw

# create document object
doc = aw.Document()

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

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

# set paragraph formatting
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# add text
builder.writeln("A whole paragraph.")

# save document
doc.save("out.docx")

Produzione

crea un paragrafo nel documento di Word Python

Scopri di più su lavorare con i paragrafi nei documenti Word usando Python.

Aggiungi una tabella in un documento di Word usando Python

Le tabelle sono parte integrante dei documenti per visualizzare le informazioni sotto forma di righe e colonne. Aspose.Words per Python semplifica notevolmente il lavoro con le tabelle. Di seguito sono riportati i passaggi per aggiungere una tabella in un documento di Word utilizzando Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Avvia una tabella utilizzando il metodo DocumentBuilder.starttable() e ottieni il riferimento della tabella in un oggetto.
  • Inserire una cella utilizzando il metodo DocumentBuilder.insertcell().
  • Imposta l’adattamento automatico utilizzando il metodo autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Imposta l’allineamento della cella.
  • Inserisci il testo nella cella usando il metodo DocumentBuilder.write().
  • Ripetere l’inserimento di celle e testo nelle celle come richiesto.
  • Termina una riga quando completi l’inserimento delle celle.
  • Fine tabella dopo aver inserito tutte le righe.
  • Salva il documento di Word usando il metodo Document.save().

L’esempio di codice seguente mostra come inserire una tabella in un documento di Word usando Python.

import aspose.words as aw

# create document object
doc = aw.Document()

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

# 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("This is row 1 cell 1")

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

# end row
builder.end_row()

# insert another cell in the next row
builder.insert_cell()

# format row if required
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# format cell and add text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, set formatting and add text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# end row
builder.end_row()

# end table
builder.end_table()

# save document
doc.save("out.docx")

Produzione

crea una tabella nel python del documento di Word

Scopri di più su come lavorare con le tabelle nei documenti Word usando Python.

Crea un elenco in un documento di Word usando Python

Di seguito sono riportati i passaggi per creare un elenco in un documento di Word utilizzando Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Imposta la formattazione utilizzando il metodo DocumentBuilder.listformat.applynumberdefault().
  • Inserisci l’elemento utilizzando il metodo DocumentBuilder.writeln(“Elemento 1”).
  • Inserisci il secondo elemento utilizzando il metodo DocumentBuilder.writeln(“Elemento 2”).
  • Per inserire elementi nel livello successivo dell’elenco, chiama il metodo DocumentBuilder.listformat.listindent() e inserisci gli elementi.
  • Rimuovere i numeri dall’elenco utilizzando il metodo DocumentBuilder.listformat.removenumbers().
  • Salva il documento di Word usando il metodo Document.save().

L’esempio di codice seguente mostra come creare un elenco nei documenti di Word usando Python.

import aspose.words as aw

# create document object
doc = aw.Document()

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

# set list formatting
builder.list_format.apply_number_default()

# insert item
builder.writeln("Item 1")
builder.writeln("Item 2")

# set indentation for next level of list
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# indent again for next level
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent to get back to previous level
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# outdent again to get back to first level
builder.list_format.list_outdent()
builder.writeln("Item 3")

# remove numbers
builder.list_format.remove_numbers()

# save document
doc.save("out.docx")

Produzione

crea un elenco nel python del documento di Word

Leggi di più su lavorare con gli elenchi nei documenti Word usando Python.

Inserisci immagini in un documento Word usando Python

Quando si lavora con i documenti di Word, non è possibile ignorare gli oggetti grafici come le immagini. Diamo quindi un’occhiata a come inserire immagini in un documento Word in modo dinamico utilizzando Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Inserisci l’immagine utilizzando il metodo DocumentBuilder.insertimage() e passa il percorso del file immagine come parametro.
  • Salva il documento di Word usando il metodo Document.save().

L’esempio di codice seguente mostra come inserire un’immagine in un documento di Word usando Python.

import aspose.words as aw

# create document object
doc = aw.Document()

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

# add image
builder.insert_image("Logo.jpg")

# save document
doc.save("out.docx")

Produzione

crea un'immagine nel python del documento word

Crea un sommario nei documenti di Word usando Python

In vari casi, i documenti di Word contengono un sommario (TOC). Il TOC offre una panoramica del contenuto del documento di Word. I passaggi seguenti mostrano come aggiungere un sommario nei documenti di Word usando Python.

  • Crea un oggetto della classe Document.
  • Crea un oggetto della classe DocumentBuilder.
  • Inserisci il sommario utilizzando il metodo DocumentBuilder.inserttableofcontents().
  • Inserisci un’interruzione di pagina dopo il sommario utilizzando il metodo DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
  • Dopo aver aggiunto/aggiornato il contenuto del documento, aggiornare il sommario utilizzando il metodo Document.updatefields().
  • Salva il documento di Word usando il metodo Document.save().

L’esempio di codice seguente mostra come inserire un sommario in un documento di Word usando Python.

import aspose.words as aw

# create document object
doc = aw.Document()

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

# insert table of contents
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# start the actual document content on the second page
builder.insert_break(aw.BreakType.PAGE_BREAK)

# add content
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")

# the newly inserted table of contents will be initially empty
# it needs to be populated by updating the fields in the document
doc.update_fields()

# save document
doc.save("out.docx")

Produzione

crea toc in word document python

Leggi di più su lavorare con il sommario usando Python.

Leggi di più

Questo articolo ha trattato alcune operazioni di base per la creazione di documenti di Word e l’inserimento di diversi elementi. Aspose.Words per Python fornisce anche un sacco di altre funzionalità che puoi esplorare usando la documentazione.

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea per utilizzare Aspose.Words per Python senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come creare file Word DOCX o DOC in Python. Inoltre, hai visto come inserire dinamicamente testo, immagini, tabelle, elenchi e sommari nei documenti di Word. Puoi provare l’API e condividere il tuo feedback o le tue domande tramite il nostro forum.

Guarda anche

Suggerimento: Aspose fornisce un convertitore online GRATUITO da PowerPoint a Word che ti consente di creare rapidamente documenti Word da presentazioni.