In bestimmten Fällen müssen wir Word Dokumente möglicherweise programmgesteuert bearbeiten. Mit Python können wir problemlos den Inhalt von DOC oder DOCX Dateien hinzufügen, bearbeiten oder löschen oder Textformatierungen anwenden. In diesem Artikel erfahren Sie, wie Sie Word Dokumente mithilfe einer REST-API in Python bearbeiten.
Die folgenden Themen sollen in diesem Artikel behandelt werden:
- Word Dokument-Editor-REST-API und Python-SDK
- Bearbeiten Sie ein Word Dokument mit der REST-API in Python
- Fügen Sie mit Python eine Tabelle in Word Dokumenten hinzu
- Fügen Sie Bilder mit Python in Word Dokumente ein
Word Dokument-Editor-REST-API und Python-SDK
Zum Bearbeiten der DOCX Dateien verwenden wir das Python SDK der GroupDocs.Editor Cloud API. Bitte installieren Sie es mit dem folgenden Befehl in der Konsole:
pip install groupdocs_editor_cloud
Bitte holen Sie sich Ihre Kunden-ID und Ihr Geheimnis aus dem Dashboard, bevor Sie die genannten Schritte ausführen. Sobald Sie Ihre ID und Ihr Geheimnis haben, fügen Sie den Code wie unten gezeigt ein:
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
configuration = groupdocs_editor_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Bearbeiten Sie Word Dokumente mit der REST-API in Python
Wir können Word Dokumente bearbeiten, indem wir die folgenden einfachen Schritte befolgen:
- Hochladen der DOCX-Datei in die Cloud
- Bearbeiten Word Dokument mit Python
- Laden Sie die aktualisierte Datei herunter
Laden Sie das Dokument hoch
Zunächst laden wir die DOCX-Datei mithilfe des unten angegebenen Codebeispiels in die Cloud hoch:
# Erstellen Sie eine Instanz der API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Laden Sie Beispieldateien hoch
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)
Dadurch ist die hochgeladene DOCX-Datei im Dateienbereich des Dashboards in der Cloud verfügbar.
Bearbeiten Sie ein Word Dokument mit Python
Wir können das Word Dokument programmgesteuert bearbeiten, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst Instanzen von FileApi und EditApi.
- Erstellen Sie als Nächstes eine Instanz von FileInfo und geben Sie den Eingabepfad für die DOCX-Datei an.
- Initialisieren Sie dann eine Instanz von WordProcessingLoadOptions und weisen Sie FileInfo zu.
- Erstellen Sie als Nächstes das LoadRequest Objekt mit dem WordProcessingLoadOptions Objekt als Argument.
- Rufen Sie dann die Methode EditApi.load() mit dem LoadRequest Objekt auf, um die Eingabe-DOCX-Datei zu laden.
- Erstellen Sie anschließend den DownloadFileRequest mit der geladenen Datei.
- Rufen Sie dann die Methode FileApi.download\file() auf, um die Datei als HTML Dokument herunterzuladen.
- Lesen Sie als Nächstes die heruntergeladene HTML-Datei als Zeichenfolge.
- Bearbeiten Sie dann den HTML-Code und speichern Sie das aktualisierte HTML Dokument.
- Erstellen Sie als Nächstes UploadFileRequest und übergeben Sie den HTML-Pfad und die Datei als Parameter.
- Rufen Sie dann die Methode FileApi.upload\file() mit UploadFileRequest auf, um die aktualisierte HTML-Datei hochzuladen.
- Erstellen Sie als Nächstes eine Instanz von WordProcessingSaveOptions, um sie im DOCX zu speichern.
- Erstellen Sie anschließend SaveRequest mit dem WordProcessingSaveOptions Objekt.
- Speichern Sie abschließend HTML mithilfe der Methode EditApi.save() mit dem SaveRequest Objekt wieder in DOCX.
Das folgende Codebeispiel zeigt, wie Sie ein Word Dokument mithilfe einer REST-API in Python bearbeiten.
# Initialisieren Sie die Instanzen der APIs
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Geben Sie den Pfad der Eingabedatei an
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Definieren Sie BelastungOptions, um es in den bearbeitbaren Zustand zu laden
loadOptions = groupdocs_editor_cloud.WordProcessingBelastungOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Ladeanforderung erstellen
loadRequest = groupdocs_editor_cloud.BelastungRequest(loadOptions)
# Belastung
loadResult = editApi.load(loadRequest)
# Download-Anfrage erstellen
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Laden Sie das HTML Dokument herunter
htmlFile = fileApi.download_file(downloadRequest)
# Lesen Sie das HTML Dokument
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Etwas bearbeiten...
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")
# Schreiben Sie HTML zurück in die Datei
with open(htmlFile, 'w') as file:
file.write(html)
# Upload-Anfrage erstellen
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Datei hochladen
fileApi.upload_file(uploadRequest)
# Speichern Sie HTML wieder in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSpeichernOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Speicheranfrage erstellen
saveRequest = groupdocs_editor_cloud.SpeichernRequest(saveOptions)
# Speichern
saveResult = editApi.save(saveRequest)
# Erledigt
print("Document edited: " + saveResult.path)
Laden Sie die aktualisierte Datei herunter
Das obige Codebeispiel speichert das bearbeitete Word Dokument (DOCX) in der Cloud. Es kann mit dem folgenden Codebeispiel heruntergeladen werden:
# API-Initialisierung
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Erstellen Sie eine Download-Dateianfrage
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)
# Download-Datei
response = file_api.download_file(request)
# Verschieben Sie die heruntergeladene Datei in Ihr Arbeitsverzeichnis
shutil.move(response, "C:\\Files\\Editor\\")
Fügen Sie mit Python eine Tabelle in Word Dokumenten hinzu
Wir können eine Tabelle in Word Dokumenten programmgesteuert hinzufügen, indem wir die zuvor genannten Schritte ausführen. Allerdings müssen wir den HTML-Code aktualisieren, um dem Dokument eine Tabelle hinzuzufügen, wie unten gezeigt:
html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")
Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API in Python eine Tabelle in ein Word Dokument einfügen. Bitte befolgen Sie die zuvor genannten Schritte, um eine Datei hoch und herunterzuladen.
# Initialisieren Sie die Instanzen der APIs
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Geben Sie den Pfad der Eingabedatei an
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Definieren Sie BelastungOptions, um es in den bearbeitbaren Zustand zu laden
loadOptions = groupdocs_editor_cloud.WordProcessingBelastungOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Ladeanforderung erstellen
loadRequest = groupdocs_editor_cloud.BelastungRequest(loadOptions)
# Belastung
loadResult = editApi.load(loadRequest)
# Download-Anfrage erstellen
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Laden Sie das HTML Dokument herunter
htmlFile = fileApi.download_file(downloadRequest)
# Lesen Sie das HTML Dokument
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Tabelle einfügen
html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")
# Schreiben Sie HTML zurück in die Datei
with open(htmlFile, 'w') as file:
file.write(html)
# Upload-Anfrage erstellen
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Datei hochladen
fileApi.upload_file(uploadRequest)
# Speichern Sie HTML wieder in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSpeichernOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Speicheranfrage erstellen
saveRequest = groupdocs_editor_cloud.SpeichernRequest(saveOptions)
# Speichern
saveResult = editApi.save(saveRequest)
# Erledigt
print("Document edited: " + saveResult.path)
Fügen Sie Bilder mit Python in Word Dokumente ein
Wir können ein Bild programmgesteuert in Word Dokumente einfügen, indem wir die zuvor genannten Schritte ausführen. Allerdings müssen wir den HTML-Code aktualisieren, um ein Bild in das Dokument einzufügen, wie unten gezeigt:
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API in Python ein Bild in ein Word Dokument einfügen. Bitte befolgen Sie die zuvor genannten Schritte, um eine Datei hoch und herunterzuladen.
# Initialisieren Sie die Instanzen der APIs
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Geben Sie den Pfad der Eingabedatei an
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Definieren Sie BelastungOptions, um es in den bearbeitbaren Zustand zu laden
loadOptions = groupdocs_editor_cloud.WordProcessingBelastungOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Ladeanforderung erstellen
loadRequest = groupdocs_editor_cloud.BelastungRequest(loadOptions)
# Belastung
loadResult = editApi.load(loadRequest)
# Download-Anfrage erstellen
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Laden Sie das HTML Dokument herunter
htmlFile = fileApi.download_file(downloadRequest)
# Lesen Sie das HTML Dokument
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Fügen Sie ein Bild ein
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
# Schreiben Sie HTML zurück in die Datei
with open(htmlFile, 'w') as file:
file.write(html)
# Upload-Anfrage erstellen
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Datei hochladen
fileApi.upload_file(uploadRequest)
# Speichern Sie HTML wieder in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSpeichernOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Speicheranfrage erstellen
saveRequest = groupdocs_editor_cloud.SpeichernRequest(saveOptions)
# Speichern
saveResult = editApi.save(saveRequest)
# Erledigt
print("Document edited: " + saveResult.path)
Versuchen Sie es online
Bitte probieren Sie das folgende kostenlose Online-DOCX-Bearbeitungstool aus, das mit der oben genannten API entwickelt wurde. https://products.groupdocs.app/editor/docx
Abschluss
In diesem Artikel haben wir gelernt, wie man Word Dokumente in der Cloud bearbeitet. Wir haben auch gesehen, wie man mithilfe einer REST-API in Python eine Tabelle hinzufügt oder ein Bild in die DOCX-Datei einfügt. In diesem Artikel wurde auch erläutert, wie Sie eine DOCX-Datei programmgesteuert in die Cloud hochladen und dann die bearbeitete Datei aus der Cloud herunterladen. Außerdem können Sie mithilfe der Dokumentation mehr über die GroupDocs.Editor Cloud API erfahren. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.