W niektórych przypadkach może zaistnieć potrzeba programowej edycji dokumentów programu Word. Możemy łatwo dodawać, edytować lub usuwać zawartość plików DOC lub DOCX lub zastosować formatowanie tekstu za pomocą Python. W tym artykule dowiemy się, jak edytować dokumenty Worda za pomocą REST API w Python.
W tym artykule zostaną omówione następujące tematy:
- Interfejs API REST edytora dokumentów programu Word i zestaw SDK języka Python
- Edytuj dokument programu Word za pomocą interfejsu API REST w Python
- Dodaj tabelę w dokumentach programu Word za pomocą Python
- Wstaw obraz do dokumentów programu Word za pomocą Python
Interfejs API REST edytora dokumentów programu Word i zestaw SDK języka Python
Do edycji plików DOCX będziemy używać Python SDK of GroupDocs.Editor Cloud API. Zainstaluj go za pomocą następującego polecenia w konsoli:
pip install groupdocs_editor_cloud
Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:
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 = ""
Edytuj dokumenty Worda za pomocą REST API w Python
Możemy edytować dokumenty Word, wykonując proste czynności wymienione poniżej:
- Prześlij plik DOCX do chmury
- Edytuj Dokument programu Word przy użyciu języka Python
- Pobierz zaktualizowany plik
Prześlij dokument
Najpierw prześlemy plik DOCX do chmury, korzystając z przykładowego kodu podanego poniżej:
# Utwórz instancję interfejsu API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Prześlij przykładowe pliki
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)
W rezultacie przesłany plik DOCX będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze.
Edytuj dokument programu Word za pomocą Python
Możemy programowo edytować dokument Word, wykonując czynności podane poniżej:
- Najpierw utwórz instancje FileApi i EditApi.
- Następnie utwórz instancję FileInfo i podaj ścieżkę wejściowego pliku DOCX.
- Następnie zainicjuj instancję WordProcessingLoadOptions i przypisz FileInfo.
- Następnie utwórz LoadRequest z obiektem WordProcessingLoadOptions jako argumentem.
- Następnie wywołaj metodę EditApi.load() z obiektem LoadRequest, aby załadować wejściowy plik DOCX.
- Następnie utwórz DownloadFileRequest z załadowanym plikiem.
- Następnie wywołaj metodę FileApi.download\file(), aby pobrać plik jako dokument HTML.
- Następnie przeczytaj pobrany plik HTML jako ciąg znaków.
- Następnie edytuj kod HTML i zapisz zaktualizowany dokument HTML.
- Następnie utwórz UploadFileRequest i przekaż ścieżkę HTML oraz plik jako parametry.
- Następnie wywołaj metodę FileApi.upload\file() z UploadFileRequest, aby przesłać zaktualizowany plik HTML.
- Następnie utwórz instancję WordProcessingSaveOptions, aby zapisać ją w pliku DOCX.
- Następnie utwórz SaveRequest z obiektem WordProcessingSaveOptions.
- Na koniec zapisz HTML z powrotem do DOCX za pomocą metody EditApi.save() z obiektem SaveRequest.
Poniższy przykładowy kod pokazuje, jak edytować dokument programu Word przy użyciu interfejsu API REST w języku Python.
# Zainicjuj wystąpienia interfejsów API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Podaj ścieżkę pliku wejściowego
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Zdefiniuj ObciążenieOptions, aby załadować go do stanu edytowalnego
loadOptions = groupdocs_editor_cloud.WordProcessingObciążenieOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Utwórz żądanie ładowania
loadRequest = groupdocs_editor_cloud.ObciążenieRequest(loadOptions)
# Obciążenie
loadResult = editApi.load(loadRequest)
# Utwórz żądanie pobrania
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Pobierz dokument HTML
htmlFile = fileApi.download_file(downloadRequest)
# Przeczytaj dokument HTML
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Edytuj coś...
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")
# Zapisz html z powrotem do pliku
with open(htmlFile, 'w') as file:
file.write(html)
# Utwórz prośbę o przesłanie
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Przesyłanie pliku
fileApi.upload_file(uploadRequest)
# Zapisz html z powrotem do docx
saveOptions = groupdocs_editor_cloud.WordProcessingRatowaćOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Utwórz żądanie zapisania
saveRequest = groupdocs_editor_cloud.RatowaćRequest(saveOptions)
# Ratować
saveResult = editApi.save(saveRequest)
# Zrobione
print("Document edited: " + saveResult.path)
Pobierz zaktualizowany plik
Powyższy przykładowy kod zapisze edytowany dokument programu Word (DOCX) w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:
# Inicjalizacja interfejsu API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Utwórz żądanie pobrania pliku
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)
# Pobieranie pliku
response = file_api.download_file(request)
# Przenieś pobrany plik do katalogu roboczego
shutil.move(response, "C:\\Files\\Editor\\")
Dodaj tabelę w dokumentach programu Word za pomocą Python
Możemy programowo dodać tabelę w dokumentach programu Word, wykonując czynności wymienione wcześniej. Musimy jednak zaktualizować kod HTML, aby dodać tabelę do dokumentu, jak pokazano poniżej:
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>""")
Poniższy przykładowy kod pokazuje, jak dodać tabelę w dokumencie programu Word przy użyciu interfejsu API REST w języku Python. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.
# Zainicjuj wystąpienia interfejsów API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Podaj ścieżkę pliku wejściowego
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Zdefiniuj ObciążenieOptions, aby załadować go do stanu edytowalnego
loadOptions = groupdocs_editor_cloud.WordProcessingObciążenieOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Utwórz żądanie ładowania
loadRequest = groupdocs_editor_cloud.ObciążenieRequest(loadOptions)
# Obciążenie
loadResult = editApi.load(loadRequest)
# Utwórz żądanie pobrania
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Pobierz dokument HTML
htmlFile = fileApi.download_file(downloadRequest)
# Przeczytaj dokument HTML
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Wypełnij tabelę
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>""")
# Zapisz html z powrotem do pliku
with open(htmlFile, 'w') as file:
file.write(html)
# Utwórz prośbę o przesłanie
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Przesyłanie pliku
fileApi.upload_file(uploadRequest)
# Zapisz html z powrotem do docx
saveOptions = groupdocs_editor_cloud.WordProcessingRatowaćOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Utwórz żądanie zapisania
saveRequest = groupdocs_editor_cloud.RatowaćRequest(saveOptions)
# Ratować
saveResult = editApi.save(saveRequest)
# Zrobione
print("Document edited: " + saveResult.path)
Wstaw obraz do dokumentów programu Word za pomocą Python
Możemy programowo wstawić obraz do dokumentów programu Word, wykonując czynności wymienione wcześniej. Musimy jednak zaktualizować kod HTML, aby wstawić obraz do dokumentu, jak pokazano poniżej:
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
Poniższy przykładowy kod pokazuje, jak wstawić obraz do dokumentu programu Word przy użyciu interfejsu API REST w języku Python. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.
# Zainicjuj wystąpienia interfejsów API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Podaj ścieżkę pliku wejściowego
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Zdefiniuj ObciążenieOptions, aby załadować go do stanu edytowalnego
loadOptions = groupdocs_editor_cloud.WordProcessingObciążenieOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Utwórz żądanie ładowania
loadRequest = groupdocs_editor_cloud.ObciążenieRequest(loadOptions)
# Obciążenie
loadResult = editApi.load(loadRequest)
# Utwórz żądanie pobrania
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Pobierz dokument HTML
htmlFile = fileApi.download_file(downloadRequest)
# Przeczytaj dokument HTML
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Wstaw obraz
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
# Zapisz html z powrotem do pliku
with open(htmlFile, 'w') as file:
file.write(html)
# Utwórz prośbę o przesłanie
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Przesyłanie pliku
fileApi.upload_file(uploadRequest)
# Zapisz html z powrotem do docx
saveOptions = groupdocs_editor_cloud.WordProcessingRatowaćOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Utwórz żądanie zapisania
saveRequest = groupdocs_editor_cloud.RatowaćRequest(saveOptions)
# Ratować
saveResult = editApi.save(saveRequest)
# Zrobione
print("Document edited: " + saveResult.path)
Wypróbuj online
Wypróbuj następujące bezpłatne narzędzie do edycji DOCX online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/editor/docx
Wniosek
W tym artykule nauczyliśmy się, jak edytować dokumenty Worda w chmurze. Widzieliśmy również, jak dodać tabelę lub wstawić obraz do pliku DOCX za pomocą REST API w Python. W tym artykule wyjaśniono również, jak programowo przesłać plik DOCX do chmury, a następnie pobrać edytowany plik z chmury. Poza tym możesz dowiedzieć się więcej o GroupDocs.Editor Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.