경우에 따라 프로그래밍 방식으로 Word 문서를 편집해야 할 수도 있습니다. DOC 또는 DOCX 파일의 내용을 쉽게 추가, 편집 또는 삭제하거나 Python을 사용하여 텍스트 서식을 적용할 수 있습니다. 이 기사에서는 Python에서 REST API를 사용하여 Word 문서를 편집하는 방법을 배웁니다.
이 문서에서는 다음 항목을 다룹니다.
- Word 문서 편집기 REST API 및 Python SDK
- Python에서 REST API를 사용하여 Word 문서 편집
- Python을 사용하여 Word 문서에 테이블 추가
- Python을 사용하여 Word 문서에 이미지 삽입
Word 문서 편집기 REST API 및 Python SDK
DOCX 파일을 편집하기 위해 GroupDocs.Editor Cloud의 Python SDK API를 사용합니다. 콘솔에서 다음 명령을 사용하여 설치하십시오.
pip install groupdocs_editor_cloud
언급된 단계를 따르기 전에 대시보드에서 클라이언트 ID와 암호를 가져오십시오. ID와 시크릿이 있으면 아래와 같이 코드를 추가합니다.
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 = ""
Python에서 REST API를 사용하여 Word 문서 편집
아래에 언급된 간단한 단계에 따라 Word 문서를 편집할 수 있습니다.
문서 업로드
먼저 아래 제공된 코드 예제를 사용하여 DOCX 파일을 클라우드에 업로드합니다.
# API 인스턴스 생성
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# 샘플 파일 업로드
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)
결과적으로 업로드된 DOCX 파일은 클라우드 대시보드의 파일 섹션에서 사용할 수 있습니다.
Python을 사용하여 Word 문서 편집
아래 단계에 따라 프로그래밍 방식으로 Word 문서를 편집할 수 있습니다.
- 먼저 FileApi 및 EditApi의 인스턴스를 생성합니다.
- 다음으로 FileInfo의 인스턴스를 만들고 입력 DOCX 파일 경로를 제공합니다.
- 그런 다음 WordProcessingLoadOptions의 인스턴스를 초기화하고 FileInfo를 할당합니다.
- 다음으로 WordProcessingLoadOptions 개체를 인수로 사용하여 LoadRequest를 만듭니다.
- 그런 다음 LoadRequest 개체와 함께 EditApi.load() 메서드를 호출하여 입력 DOCX 파일을 로드합니다.
- 그런 다음 로드된 파일로 DownloadFileRequest를 생성합니다.
- 그런 다음 FileApi.download\file() 메서드를 호출하여 파일을 HTML 문서로 다운로드합니다.
- 다음으로 다운로드한 HTML 파일을 문자열로 읽습니다.
- 그런 다음 HTML을 편집하고 업데이트된 HTML 문서를 저장합니다.
- 다음으로 UploadFileRequest를 생성하고 HTML 경로와 파일을 매개변수로 전달합니다.
- 그런 다음 UploadFileRequest와 함께 FileApi.upload\file() 메서드를 호출하여 업데이트된 HTML 파일을 업로드합니다.
- 다음으로 DOCX에 저장할 WordProcessingSaveOptions의 인스턴스를 만듭니다.
- 그런 다음 WordProcessingSaveOptions 객체로 SaveRequest를 생성합니다.
- 마지막으로 SaveRequest 개체와 함께 EditApi.save() 메서드를 사용하여 HTML을 다시 DOCX에 저장합니다.
다음 코드 샘플은 Python에서 REST API를 사용하여 Word 문서를 편집하는 방법을 보여줍니다.
# API 인스턴스 초기화
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# 입력 파일 경로 제공
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# 짐Options를 정의하여 편집 가능한 상태로 로드
loadOptions = groupdocs_editor_cloud.WordProcessing짐Options()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# 로드 요청 생성
loadRequest = groupdocs_editor_cloud.짐Request(loadOptions)
# 짐
loadResult = editApi.load(loadRequest)
# 다운로드 요청 생성
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# HTML 문서 다운로드
htmlFile = fileApi.download_file(downloadRequest)
# HTML 문서 읽기
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# 수정...
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")
# html을 파일에 다시 쓰기
with open(htmlFile, 'w') as file:
file.write(html)
# 업로드 요청 만들기
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# 파일 업로드
fileApi.upload_file(uploadRequest)
# html을 docx에 다시 저장
saveOptions = groupdocs_editor_cloud.WordProcessing구하다Options()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# 저장 요청 생성
saveRequest = groupdocs_editor_cloud.구하다Request(saveOptions)
# 구하다
saveResult = editApi.save(saveRequest)
# 완료
print("Document edited: " + saveResult.path)
업데이트된 파일 다운로드
위의 코드 샘플은 편집된 Word 문서(DOCX)를 클라우드에 저장합니다. 다음 코드 샘플을 사용하여 다운로드할 수 있습니다.
# API 초기화
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# 다운로드 파일 요청 생성
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)
# 파일 다운로드
response = file_api.download_file(request)
# 다운로드한 파일을 작업 디렉토리로 이동
shutil.move(response, "C:\\Files\\Editor\\")
Python을 사용하여 Word 문서에 테이블 추가
앞에서 언급한 단계에 따라 프로그래밍 방식으로 Word 문서에 테이블을 추가할 수 있습니다. 그러나 아래와 같이 문서에 테이블을 추가하려면 HTML을 업데이트해야 합니다.
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>""")
다음 코드 샘플은 Python에서 REST API를 사용하여 Word 문서에 표를 추가하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 다운로드하십시오.
# API 인스턴스 초기화
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# 입력 파일 경로 제공
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# 짐Options를 정의하여 편집 가능한 상태로 로드
loadOptions = groupdocs_editor_cloud.WordProcessing짐Options()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# 로드 요청 생성
loadRequest = groupdocs_editor_cloud.짐Request(loadOptions)
# 짐
loadResult = editApi.load(loadRequest)
# 다운로드 요청 생성
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# HTML 문서 다운로드
htmlFile = fileApi.download_file(downloadRequest)
# HTML 문서 읽기
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# 표 삽입
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>""")
# html을 파일에 다시 쓰기
with open(htmlFile, 'w') as file:
file.write(html)
# 업로드 요청 만들기
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# 파일 업로드
fileApi.upload_file(uploadRequest)
# html을 docx에 다시 저장
saveOptions = groupdocs_editor_cloud.WordProcessing구하다Options()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# 저장 요청 생성
saveRequest = groupdocs_editor_cloud.구하다Request(saveOptions)
# 구하다
saveResult = editApi.save(saveRequest)
# 완료
print("Document edited: " + saveResult.path)
Python을 사용하여 Word 문서에 이미지 삽입
앞에서 언급한 단계에 따라 프로그래밍 방식으로 Word 문서에 이미지를 삽입할 수 있습니다. 그러나 아래와 같이 문서에 이미지를 삽입하려면 HTML을 업데이트해야 합니다.
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
다음 코드 샘플은 Python에서 REST API를 사용하여 Word 문서에 이미지를 삽입하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 다운로드하십시오.
# API 인스턴스 초기화
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# 입력 파일 경로 제공
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# 짐Options를 정의하여 편집 가능한 상태로 로드
loadOptions = groupdocs_editor_cloud.WordProcessing짐Options()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# 로드 요청 생성
loadRequest = groupdocs_editor_cloud.짐Request(loadOptions)
# 짐
loadResult = editApi.load(loadRequest)
# 다운로드 요청 생성
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# HTML 문서 다운로드
htmlFile = fileApi.download_file(downloadRequest)
# HTML 문서 읽기
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# 이미지 삽입
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
# html을 파일에 다시 쓰기
with open(htmlFile, 'w') as file:
file.write(html)
# 업로드 요청 만들기
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# 파일 업로드
fileApi.upload_file(uploadRequest)
# html을 docx에 다시 저장
saveOptions = groupdocs_editor_cloud.WordProcessing구하다Options()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# 저장 요청 생성
saveRequest = groupdocs_editor_cloud.구하다Request(saveOptions)
# 구하다
saveResult = editApi.save(saveRequest)
# 완료
print("Document edited: " + saveResult.path)
온라인 시도
위의 API를 사용하여 개발된 다음 무료 온라인 DOCX 편집 도구를 사용해 보십시오. https://products.groupdocs.app/editor/docx
결론
이 기사에서는 클라우드에서 Word 문서를 편집하는 방법을 배웠습니다. Python에서 REST API를 사용하여 DOCX 파일에 테이블을 추가하거나 이미지를 삽입하는 방법도 살펴보았습니다. 이 기사에서는 프로그래밍 방식으로 DOCX 파일을 클라우드에 업로드한 다음 클라우드에서 편집된 파일을 다운로드하는 방법도 설명했습니다. 또한 문서를 사용하여 GroupDocs.Editor Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다. 모호한 점이 있으면 언제든지 포럼으로 문의해 주십시오.