Wir können MS Word automatisieren, um neue Word-Dokumente (DOC oder DOCX) zu erstellen, die vorhandenen zu bearbeiten oder zu ändern oder sie in andere Formate zu konvertieren, ohne Microsoft Office zu verwenden. Die Automatisierung von Python MS Word ermöglicht die programmgesteuerte Ausführung aller Aktionen, die wir über die Benutzeroberfläche von MS Word ausführen können. In diesem Artikel erfahren Sie, wie Sie MS Word automatisieren, um Word-Dokumente mit Python zu erstellen, zu bearbeiten oder zu konvertieren.
Dieser Artikel behandelt alle grundlegenden Funktionen, die zum programmgesteuerten Generieren und Bearbeiten von Word-Dokumenten mit Python erforderlich sind. Dieser Artikel enthält die folgenden Themen:
- Python MS Word Automation API zum Erstellen, Bearbeiten oder Konvertieren von Word-Dokumenten
- Erstellen Sie Word-Dokumente
- Bearbeiten oder ändern Sie Word-Dokumente
- Suchen und Ersetzen von Text in Word-Dokumenten
- Konvertieren Sie Word-Dokumente
- Word-Dokumente parsen
Python MS Word Automation API zum Erstellen, Bearbeiten oder Konvertieren von Word-Dokumenten
Zur Automatisierung von Word verwenden wir die API Aspose.Words for Python. Es ist eine vollständige und funktionsreiche Word-Automatisierungslösung zum programmgesteuerten Erstellen, Bearbeiten oder Analysieren von Word-Dokumenten. Die Document-Klasse der API repräsentiert ein Word-Dokument. Die API stellt die DocumentBuilder-Klasse bereit, die verschiedene Methoden zum Einfügen von Text, Bildern und anderen Inhalten in das Dokument bietet. Diese Klasse ermöglicht auch die Angabe der Schriftart, des Absatzes und der Abschnittsformatierung. Die Run-Klasse der API stellt eine Reihe von Zeichen mit derselben Schriftartformatierung dar. Bitte installieren Sie die Bibliothek in Ihrer Python-Anwendung von PyPI mit dem folgenden Pip-Befehl.
pip install aspose-words
Erstellen Sie Word-Dokumente mit Python
Wir können Word-Dokumente programmgesteuert erstellen, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst eine Instanz der Document-Klasse.
- Erstellen Sie als Nächstes eine Instanz der DocumentBuilder-Klasse mit dem Document-Objekt als Argument.
- Fügen Sie danach Elemente ein/schreiben Sie sie, um mithilfe des DocumentBuilder-Objekts Text, Absätze, Tabellen oder Bilder hinzuzufügen.
- Rufen Sie schließlich die Methode save() mit dem Ausgabedateipfad als Argument auf, um die erstellte Datei zu speichern.
Das folgende Codebeispiel zeigt, wie Sie mit Python ein Word-Dokument (DOCX) erstellen.
import aspose.words as aw
# Dieses Codebeispiel zeigt, wie Sie mit Python ein neues Word-Dokument erstellen.
# Dokumentobjekt erstellen
doc = aw.Document()
# Erstellen Sie ein Document Builder-Objekt
builder = aw.DocumentBuilder(doc)
# Geben Sie die Schriftartformatierung an Schriftart
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE
# Texte einfügen
builder.writeln("Welcome")
builder.writeln()
# Absatzformatierung festlegen
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
# Absatz einfügen
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()
# Fügen Sie eine Tabelle ein
font.bold = True
builder.writeln("This is a sample table")
font.bold = False
# Tabelle starten
table = builder.start_table()
# Zelle einfügen
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)
# Legen Sie die Formatierung fest und fügen Sie Text hinzu
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()
# Endtisch
builder.end_table()
builder.writeln()
# Bild einfügen
builder.insert_image("C:\\Files\\aspose-icon.png")
# Dokument speichern
doc.save("C:\\Files\\sample_output.docx")
Bearbeiten oder ändern Sie Word-Dokumente mit Python
Im vorherigen Abschnitt haben wir ein Word-Dokument erstellt. Jetzt bearbeiten wir es und ändern den Inhalt des Dokuments. Wir können Word-Dokumente bearbeiten, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein vorhandenes Word-Dokument mithilfe der Document-Klasse.
- Greifen Sie als Nächstes über den Index auf den jeweiligen Abschnitt zu.
- Greifen Sie dann auf den Inhalt des ersten Absatzes als Objekt der Run-Klasse zu.
- Stellen Sie danach den zu aktualisierenden Text für den aufgerufenen Absatz ein.
- Rufen Sie schließlich die Methode save() mit dem Ausgabedateipfad auf, um die aktualisierte Datei zu speichern.
Das folgende Codebeispiel zeigt, wie Sie ein Word-Dokument (DOCX) mit Python bearbeiten.
import aspose.words as aw
# Dieses Codebeispiel zeigt, wie Sie ein vorhandenes Word-Dokument bearbeiten.
# Legen Sie das Dokument ein
doc = aw.Document("C:\\Files\\sample_output.docx")
# Document Builder initialisieren
builder = aw.DocumentBuilder(doc)
# Greifen Sie auf den Absatz zu
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"
# Speichern Sie das Dokument
doc.save("C:\\Files\\sample_updated.docx")
Suchen und Ersetzen von Text in Word-Dokumenten mit Python
Wir können auch jeden Text finden und durch einen neuen Text ersetzen, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein Word-Dokument mithilfe der Document-Klasse.
- Erstellen Sie als Nächstes eine Instanz der FindReplaceOptions-Klasse.
- Rufen Sie danach die Methode replace() auf. Als Argumente werden die Suchzeichenfolge, die Ersetzungszeichenfolge und das FindReplaceOptions-Objekt verwendet.
- Rufen Sie schließlich die Methode save() mit dem Ausgabedateipfad auf, um die aktualisierte Datei zu speichern.
Das folgende Codebeispiel zeigt, wie Sie mithilfe von Python bestimmten Text in einem Word-Dokument (DOCX) suchen und ersetzen.
import aspose.words as aw
# Dieses Codebeispiel zeigt, wie Text in einem Word-Dokument gesucht und ersetzt wird.
# Legen Sie das Dokument ein
doc = aw.Document("C:\\Files\\sample_output.docx")
# Aktualisieren Sie mit Suchen und Ersetzen
# Geben Sie die Suchzeichenfolge an und ersetzen Sie die Zeichenfolge mit der Replace-Methode.
doc.range.replace("Aspose.Words", "Hello",
aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
# Speichern Sie das Dokument
doc.save("C:\\Files\\find_and_replace.docx")
Konvertieren Sie Word-Dokumente mit Python
Wir können Word-Dokumente in andere Formate wie PDF, XPS, EPUB, HTML, JPG, PNG usw. konvertieren. Bitte führen Sie die folgenden Schritte aus, um ein Word-Dokument in eine HTML-Webseite zu konvertieren:
- Laden Sie zunächst ein Word-Dokument mithilfe der Document-Klasse.
- Erstellen Sie als Nächstes eine Instanz der HtmlSaveOptions-Klasse mit dem Document-Objekt als Argument.
- Geben Sie danach die Eigenschaften cssstylesheettype, exportfontresources, resourcefolder und alias an.
- Rufen Sie schließlich die save()-Methode mit dem Ausgabedateipfad und dem HtmlSaveOptions-Objekt als Argumente auf, um die konvertierte HTML-Datei zu speichern.
Das folgende Codebeispiel zeigt, wie Sie ein Word-Dokument (DOCX) mit Python in HTML konvertieren.
import aspose.words as aw
# Dieses Codebeispiel zeigt, wie Sie ein Word-Dokument in PDF konvertieren.
# Laden Sie ein vorhandenes Word-Dokument
doc = aw.Document("C:\\Files\\sample_output.docx")
# Legen Sie Speicheroptionen fest
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"
# Speichern Sie das konvertierte Dokument
doc.save("C:\\Files\\Converted.html", saveOptions)
Ebenso können wir auch Word-Dokumente in andere unterstützte Formate konvertieren. Weitere Informationen zum Konvertieren von Word in EPUB, Word in PDF, Word-Dokument in Markdown, Word in JPG- oder PNG-Bilder finden Sie in der Dokumentation .
Analysieren Sie Word-Dokumente mit Python
Wir können Word-Dokumente analysieren und den Inhalt als einfachen Text extrahieren, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein Word-Dokument mithilfe der Document-Klasse.
- Als nächstes extrahieren und drucken Sie den Text.
- Rufen Sie schließlich die Methode save() auf, um das Word-Dokument als Textdatei zu speichern. Diese Methode nimmt den Pfad der Ausgabedatei als Argument.
Das folgende Codebeispiel zeigt, wie ein Word-Dokument (DOCX) mit Python analysiert wird.
import aspose.words as aw
# Dieses Codebeispiel zeigt, wie ein Word-Dokument analysiert wird.
# Legen Sie das Dokument ein
doc = aw.Document("C:\\Files\\Sample.docx")
# Texte extrahieren
print(doc.range.text)
# Als Klartext speichern
doc.save("C:\\Files\\output.txt")
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben wir gelernt, wie man:
- MS Word mit Python automatisieren;
- erstellen und bearbeiten Sie Word-Dokumente programmgesteuert;
- analysieren oder konvertieren Sie DOCX-Dateien;
- Suchen und Ersetzen von Text in Word-Dokumenten mit Python.
Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Words for Python API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.
Siehe auch
- Extrahieren Sie Text aus Word DOCX DOC in Python
- Erstellen Sie eine Tabelle in Word DOCX in Python
- Extrahieren Sie Bilder aus Word-Dokumenten in Python
- Konvertieren Sie ein Word-Dokument in Python in EPUB
- Teilen Sie ein Word-DOCX-DOC in Python
- Automatisieren Sie den MS Word-Seriendruck in Python
- Kombinieren Sie Word-Dokumente mit Python