Sommario
Installa con Pip
pip install Spire.Doc
Link correlati
I modelli forniscono una struttura e un layout già pronti, consentendoti di risparmiare tempo e fatica nella creazione di documenti da zero. Invece di progettare il layout del documento, gli stili di formattazione e l'organizzazione delle sezioni, puoi semplicemente scegliere un modello che soddisfi le tue esigenze e iniziare ad aggiungere i tuoi contenuti. Ciò è particolarmente utile quando è necessario creare più documenti con un aspetto coerente. In questo blog esploreremo come creare documenti Word da modelli utilizzando Python.
Discuteremo tre diversi approcci per generare documenti Word da modelli:
- Crea documenti Word da modelli sostituendo il testo segnaposto in Python
- Crea documenti Word da modelli sostituendo i segnalibri in Python
- Crea documenti Word da modelli eseguendo la stampa unione in Python
Libreria Python per creare documenti Word da modelli
Per cominciare, dobbiamo installare il modulo Python necessario che supporti la generazione di documenti Word da modelli. In questo post del blog utilizzeremo la libreria Spire.Doc for Python .
Spire.Doc for Python offre un set completo di funzionalità per creare, leggere, modificare e convertire file Word all'interno delle applicazioni Python. Fornisce supporto continuo per vari formati Word tra cui Doc, Docx, Docm, Dot, Dotx, Dotm e altri. Inoltre, consente la conversione di alta qualità di documenti Word in diversi formati, come Word in PDF, Word in RTF, Word in HTML, Word in testo e Word in immagine.
Per installare Spire.Doc for Python, puoi eseguire il seguente comando pip:
pip install Spire.Doc
Per istruzioni dettagliate sull'installazione, fare riferimento a questa documentazione: Come installare Spire.Doc for Python in VS Code.
Crea documenti Word da modelli sostituendo il testo segnaposto in Python
Il "testo segnaposto" si riferisce al testo temporaneo che può essere facilmente sostituito con il contenuto desiderato. Per creare un documento Word da un modello sostituendo il testo segnaposto, è necessario preparare un modello che includa testo segnaposto predefinito. Questo modello può essere creato manualmente utilizzando l'applicazione Microsoft Word o generato a livello di codice con Spire.Doc for Python.
Ecco i passaggi per creare un documento Word da un modello sostituendo il testo segnaposto utilizzando Spire.Doc for Python:
- Crea un'istanza di Document e quindi carica un modello di Word utilizzando il metodo Document.LoadFromFile().
- Definire un dizionario che associ il testo segnaposto al testo sostitutivo corrispondente per eseguire sostituzioni nel documento.
- Fai un giro nel dizionario.
- Sostituisci il testo segnaposto nel documento con il testo sostitutivo corrispondente utilizzando il metodo Document.Replace().
- Salva il documento risultante utilizzando il metodo Document.SaveToFile().
Ecco un esempio di codice che crea un documento Word da un modello sostituendo il testo segnaposto utilizzando Spire.Doc per Python:
- Python
from spire.doc import * from spire.doc.common import * # Specify the input and output file paths inputFile = "Placeholder_Template.docx" outputFile = "CreateDocumentByReplacingPlaceholderText.docx" # Create a Document object document = Document() # Load a Word template with placeholder text document.LoadFromFile(inputFile) # Create a dictionary to store the placeholder text and its corresponding replacement text # Each key represents a placeholder, while the corresponding value represents the replacement text text_replacements = { "{name}": "John Smith", "{email}": "johnsmith@example.com", "{telephone}": "(123) 456-7890", "{address}": "123 Main Street, A City, B State", "{education}": "B.S. in Computer Science \nXYZ University \n2010 - 2014", "{experience}": "Software Engineer \nABC Company \n2015 - Present", "{skills}": "Programming (Python, Java, C++) \nProject Management \nProblem Solving", "{projects}": "Developed a mobile app for XYZ Company, resulting in a 20% increase in user engagement. \nLed a team of 5 developers to successfully deliver a complex software project on time and within budget.", "{certifications}": "Project Management Professional (PMP) \nMicrosoft Certified: Azure Developer Associate", "{languages}": "English (Fluent) \nSpanish (Intermediate)", "{interests}": "Traveling, Photography, Reading" } # Loop through the dictionary for placeholder_text, replacement_text in text_replacements.items(): # Replace the placeholder text in the document with the replacement text document.Replace(placeholder_text, replacement_text, False, False) # Save the resulting document document.SaveToFile(outputFile, FileFormat.Docx2016) document.Close()
Suggerimenti: questo esempio spiega come sostituire il testo segnaposto in un modello di Word con un nuovo testo. Vale la pena notare che Spire.Doc per Python supporta la sostituzione del testo in vari scenari, inclusa la sostituzione del testo con immagini, la sostituzione del testo con tabelle, la sostituzione del testo utilizzando regex e altro ancora. Puoi trovare maggiori dettagli in questa documentazione: Python: trova e sostituisci testo in Word.
Crea documenti Word da modelli sostituendo i segnalibri in Python
I segnalibri in un documento di Word fungono da punti di riferimento che consentono di inserire o sostituire con precisione il contenuto in posizioni specifiche all'interno del documento. Per creare un documento Word da un modello sostituendo i segnalibri, è necessario preparare un modello che contenga segnalibri predefiniti. Questo modello può essere creato manualmente utilizzando l'applicazione Microsoft Word o generato a livello di codice con Spire.Doc for Python.
Ecco i passaggi per creare un documento Word da un modello sostituendo i segnalibri utilizzando Spire.Doc for Python:
- Crea un'istanza Document e carica un documento Word utilizzando il metodo Document.LoadFromFile().
- Definire un dizionario che associ i nomi dei segnalibri al testo sostitutivo corrispondente per eseguire sostituzioni nel documento.
- Fai un giro nel dizionario.
- Crea un'istanza di BookmarksNavigator e vai al segnalibro specifico in base al suo nome utilizzando il metodo BookmarkNavigator.MoveToBookmark().
- Sostituisci il contenuto del segnalibro con il testo sostitutivo corrispondente utilizzando il metodo BookmarkNavigator.ReplaceBookmarkContent().
- Salva il documento risultante utilizzando il metodo Document.SaveToFile().
Ecco un esempio di codice che crea un documento Word da un modello sostituendo i segnalibri utilizzando Spire.Doc for Python:
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object document = Document() # Load a Word template with bookmarks document.LoadFromFile("Template_Bookmark.docx") # Create a dictionary to store the bookmark names and their corresponding replacement text # Each key represents a bookmark name, while the corresponding value represents the replacement text bookmark_replacements = { "introduction": "In today's digital age, effective communication is crucial.", "methodology": "Our research approach focuses on gathering qualitative data.", "results": "The analysis reveals significant findings supporting our hypothesis.", "conclusion": "Based on our findings, we recommend further investigation in this field." } # Loop through the dictionary for bookmark_name, replacement_text in bookmark_replacements.items(): # Replace the content of the bookmarks in the document with the corresponding replacement text bookmarkNavigator = BookmarksNavigator(document) bookmarkNavigator.MoveToBookmark(bookmark_name) bookmarkNavigator.ReplaceBookmarkContent(replacement_text, True) # Remove the bookmarks from the document document.Bookmarks.Remove(bookmarkNavigator.CurrentBookmark) # Save the resulting document document.SaveToFile("CreateDocumentByReplacingBookmark.docx", FileFormat.Docx2016) document.Close()
Crea documenti Word da modelli eseguendo la stampa unione in Python
La stampa unione è una potente funzionalità di Microsoft Word che ti consente di creare documenti personalizzati da un modello unendolo a un'origine dati. Per creare un documento Word da un modello eseguendo la stampa unione, è necessario preparare un modello che includa campi unione predefiniti. Questo modello può essere creato manualmente utilizzando l'applicazione Microsoft Word o generato a livello di codice con Spire.Doc for Python utilizzando il seguente codice:
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object document = Document() # Add a section section = document.AddSection() # Set page margins section.PageSetup.Margins.All = 72.0 # Add a paragraph paragraph = section.AddParagraph() # Add text to the paragraph paragraph.AppendText("Customer Name: ") # Add a paragraph paragraph = section.AddParagraph() # Add a merge field to the paragraph paragraph.AppendField("Recipient Name", FieldType.FieldMergeField) # Save the resulting document document.SaveToFile("Template.docx", FileFormat.Docx2013) document.Close()
Ecco i passaggi per creare un documento Word da un modello eseguendo la stampa unione utilizzando Spire.Doc for Python:
- Crea un'istanza di Document e quindi carica un modello di Word utilizzando il metodo Document.LoadFromFile().
- Definire un elenco di nomi di campi di unione.
- Definire un elenco di valori dei campi di unione.
- Eseguire una stampa unione utilizzando i nomi dei campi e i valori dei campi specificati utilizzando il metodo Document.MailMerge.Execute().
- Salva il documento risultante utilizzando il metodo Document.SaveToFile().
Ecco un esempio di codice che crea un documento Word da un modello eseguendo la stampa unione utilizzando Spire.Doc for Python:
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object document = Document() # Load a Word template with merge fields document.LoadFromFile("Template_MergeFields.docx") # Define a list of field names filedNames = ["Recipient Name", "Company Name", "Amount", "Due Date", "Payment Method", "Sender Name", "Title", "Phone"] # Define a list of field values filedValues = ["John Smith", "ABC Company", "$500", DateTime.get_Now().Date.ToString(), "PayPal", "Sarah Johnson", "Accounts Receivable Manager", "123-456-7890"] # Perform a mail merge operation using the specified field names and field values document.MailMerge.Execute(filedNames, filedValues) # Save the resulting document document.SaveToFile("CreateDocumentByMailMerge.docx", FileFormat.Docx2016) document.Close()
Ottieni una licenza gratuita
Per sperimentare appieno le funzionalità di Spire.Doc for Python senza limitazioni di valutazione, puoi richiedere una licenza di prova gratuita di 30 giorni.
Conclusione
Questo blog ha dimostrato come creare documenti Word da modelli in 3 modi diversi utilizzando Python e Spire.Doc for Python. Oltre a creare documenti Word, Spire.Doc for Python fornisce numerose funzionalità per la manipolazione di documenti Word, puoi verificarne documentazione per maggiori informazioni. Se riscontri domande, non esitare a pubblicarle sul nostro Forum o inviarli al nostro team di supporto tramite e-mail.