Erstellen Sie Word-Dokumente aus Vorlagen mit Python

2024-01-09 02:25:19

Vorlagen bieten eine vorgefertigte Struktur und ein vorgefertigtes Layout, wodurch Sie Zeit und Aufwand bei der Erstellung von Dokumenten von Grund auf sparen. Anstatt das Dokumentlayout, die Formatierungsstile und die Abschnittsorganisation zu entwerfen, können Sie einfach eine Vorlage auswählen, die Ihren Anforderungen entspricht, und mit dem Hinzufügen Ihrer Inhalte beginnen. Dies ist besonders nützlich, wenn Sie mehrere Dokumente mit einem einheitlichen Erscheinungsbild erstellen müssen. In diesem Blog erfahren Sie, wie das geht Erstellen Sie Word-Dokumente aus Vorlagen mit Python.

Wir werden drei verschiedene Ansätze zur Generierung von Word-Dokumenten aus Vorlagen diskutieren:

Python-Bibliothek zum Erstellen von Word-Dokumenten aus Vorlagen

Zunächst müssen wir das erforderliche Python-Modul installieren, das die Erstellung von Word-Dokumenten aus Vorlagen unterstützt. In diesem Blogbeitrag verwenden wir die Bibliothek Spire.Doc for Python.

Spire.Doc for Python bietet umfassende Funktionen zum Erstellen, Lesen, Bearbeiten und Konvertieren von Word-Dateien in Python-Anwendungen. Es bietet nahtlose Unterstützung für verschiedene Word-Formate, darunter Doc, Docx, Docm, Dot, Dotx, Dotm und mehr. Darüber hinaus ermöglicht es die hochwertige Konvertierung von Word-Dokumenten in verschiedene Formate, z. B. Word in PDF, Word in RTF, Word in HTML, Word in Text, und Word in Image.

Um Spire.Doc for Python zu installieren, können Sie den folgenden pip-Befehl ausführen:

pip install Spire.Doc

Detaillierte Installationsanweisungen finden Sie in dieser Dokumentation: So installieren Sie Spire.Doc for Python in VS Code..

Erstellen Sie Word-Dokumente aus Vorlagen, indem Sie Platzhaltertext in Python ersetzen

„Platzhaltertext“ bezeichnet temporären Text, der einfach durch den gewünschten Inhalt ersetzt werden kann. Um ein Word-Dokument aus einer Vorlage durch Ersetzen von Platzhaltertext zu erstellen, müssen Sie eine Vorlage vorbereiten, die vordefinierten Platzhaltertext enthält. Diese Vorlage kann manuell mit der Microsoft Word-Anwendung erstellt werden oder programmgesteuert generiert mit Spire.Doc for Python.

Hier sind die Schritte zum Erstellen eines Word-Dokuments aus einer Vorlage durch Ersetzen von Platzhaltertext mit Spire.Doc for Python:

  • Erstellen Sie eine Document-Instanz und laden Sie dann eine Word-Vorlage mit der Methode Document.LoadFromFile().
  • Definieren Sie ein Wörterbuch, das Platzhaltertext dem entsprechenden Ersetzungstext zuordnet, um Ersetzungen im Dokument durchzuführen.
  • Gehen Sie das Wörterbuch durc
  • Ersetzen Sie den Platzhaltertext im Dokument mit der Document.Replace()-Methode durch den entsprechenden Ersatztext.
  • Speichern Sie das resultierende Dokument mit der Methode Document.SaveToFile().

Hier ist ein Codebeispiel, das ein Word-Dokument aus einer Vorlage erstellt, indem Platzhaltertext mit Spire.Doc for Python ersetzt wird:

  • 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()

Create Word Documents from Templates with Python

Tipps: In diesem Beispiel wurde erläutert, wie Sie Platzhaltertext in einer Word-Vorlage durch neuen Text ersetzen. Es ist erwähnenswert, dass Spire.Doc für Python das Ersetzen von Text in verschiedenen Szenarien unterstützt, darunter das Ersetzen von Text durch Bilder, das Ersetzen von Text durch Tabellen, das Ersetzen von Text mithilfe von Regex und mehr. Weitere Details finden Sie in dieser Dokumentation: Python: Text in Word suchen und ersetzen.

Erstellen Sie Word-Dokumente aus Vorlagen, indem Sie Lesezeichen in Python ersetzen

Lesezeichen in einem Word-Dokument dienen als Referenzpunkte, die es Ihnen ermöglichen, Inhalte an bestimmten Stellen im Dokument präzise einzufügen oder zu ersetzen. Um ein Word-Dokument aus einer Vorlage durch Ersetzen von Lesezeichen zu erstellen, müssen Sie eine Vorlage vorbereiten, die vordefinierte Lesezeichen enthält. Diese Vorlage kann manuell mit der Microsoft Word-Anwendung erstellt werden oder programmgesteuert generiert mit Spire.Doc for Python.

Hier sind die Schritte zum Erstellen eines Word-Dokuments aus einer Vorlage durch Ersetzen von Lesezeichen mit Spire.Doc for Python:

  • Erstellen Sie eine Document-Instanz und laden Sie ein Word-Dokument mit der Methode Document.LoadFromFile().
  • Definieren Sie ein Wörterbuch, das Lesezeichennamen dem entsprechenden Ersetzungstext zuordnet, um Ersetzungen im Dokument durchzuführen.
  • Gehen Sie das Wörterbuch durch.
  • Erstellen Sie eine BookmarksNavigator-Instanz und navigieren Sie mit der Methode BookmarkNavigator.MoveToBookmark() anhand seines Namens zum jeweiligen Lesezeichen.
  • Ersetzen Sie den Inhalt des Lesezeichens durch den entsprechenden Ersatztext mithilfe der Methode BookmarkNavigator.ReplaceBookmarkContent().
  • Speichern Sie das resultierende Dokument mit der Methode Document.SaveToFile().

Hier ist ein Codebeispiel, das ein Word-Dokument aus einer Vorlage erstellt, indem Lesezeichen mithilfe von Spire.Doc for Python ersetzt werden:

  • 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()

Create Word Documents from Templates with Python

Erstellen Sie Word-Dokumente aus Vorlagen, indem Sie einen Seriendruck in Python durchführen

Seriendruck ist eine leistungsstarke Funktion in Microsoft Word, mit der Sie benutzerdefinierte Dokumente aus einer Vorlage erstellen können, indem Sie diese mit einer Datenquelle zusammenführen. Um ein Word-Dokument aus einer Vorlage durch einen Serienbrief zu erstellen, müssen Sie eine Vorlage vorbereiten, die vordefinierte Serienbrieffelder enthält. Diese Vorlage kann manuell mit der Microsoft Word-Anwendung erstellt oder programmgesteuert mit Spire.Doc for Python mithilfe des folgenden Codes generiert werden:

  • 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()

Hier sind die Schritte zum Erstellen eines Word-Dokuments aus einer Vorlage durch Durchführen eines Seriendrucks mit Spire.Doc for Python:

  • Erstellen Sie eine Document-Instanz und laden Sie dann eine Word-Vorlage mit der Methode Document.LoadFromFile().
  • Definieren Sie eine Liste mit Zusammenführungsfeldnamen.
  • Definieren Sie eine Liste von Zusammenführungsfeldwerten.
  • Führen Sie einen Serienbrief mit den angegebenen Feldnamen und Feldwerten mithilfe der Methode Document.MailMerge.Execute() durch.
  • Speichern Sie das resultierende Dokument mit der Methode Document.SaveToFile().

Hier ist ein Codebeispiel, das ein Word-Dokument aus einer Vorlage erstellt, indem es einen Serienbrief mit Spire.Doc for Python durchführt:

  • 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()

Create Word Documents from Templates with Python

Holen Sie sich eine kostenlose Lizenz

Um die Funktionen von Spire.Doc for Python ohne jegliche Evaluierungseinschränkungen voll auszuschöpfen, können Sie eine Anfrage stellen eine kostenlose 30-Tage-Testlizenz.

Abschluss

In diesem Blog wurde gezeigt, wie Sie mit Python und Spire.Doc for Python auf drei verschiedene Arten Word-Dokumente aus Vorlagen erstellen können. Zusätzlich zum Erstellen von Word-Dokumenten bietet Spire.Doc for Python zahlreiche Funktionen zum Bearbeiten von Word-Dokumenten. Sie können die Dokumentation überprüfen für mehr Informationen. Wenn Sie Fragen haben, können Sie diese gerne in unserem Forum posten oder per E-Mail an unser Support-Team senden.

Siehe auch