웹 기반 보고서 또는 콘텐츠 관리 솔루션을 구축할 때 DOCX 문서를 HTML 로 변환하는 경우가 자주 있습니다. GroupDocs.Conversion Cloud SDK for Python은 몇 번의 API 호출만으로 Python에서 DOCX를 HTML로 자동 변환할 수 있게 해줍니다. 이 튜토리얼에서는 SDK를 설정하고, 단계별 구현 과정을 살펴보며, 전체 코드 예제를 확인하고, 반응형 웹 페이지를 위한 출력물을 세밀하게 조정하는 방법을 배웁니다.

Python에서 DOCX를 HTML로 변환하기 위한 요구 사항

문서 기반 웹 애플리케이션을 구축하는 개발자는 종종 사용자로부터 DOCX 파일을 받아 브라우저에서 즉시 내용을 표시해야 합니다. 일반적인 요구 사항은 다음과 같습니다:

  • HTML로 렌더링하는 동안 원본 스타일링, 테이블 및 이미지를 유지합니다.
  • 추가적인 CSS 작업 없이 다양한 화면 크기에 맞게 조정되는 마크업을 생성합니다.
  • 무거운 오피스 제품군을 설치하지 않고 서버‑사이드 환경에서 변환을 수행합니다.

데스크톱 도구나 오픈‑소스 라이브러리를 사용한 수동 변환은 특히 복잡한 레이아웃의 경우 오류가 발생하기 쉽고, 대량 API 기반 작업에 대해 확장성이 없습니다.

접근 방식: DOCX를 HTML로 자동 변환

GroupDocs.Conversion Cloud SDK for Python 은(는) 형식 변환의 복잡한 작업을 처리하는 클라우드 기반 API를 제공합니다. 요구 사항에 부합하는 주요 기능은 다음과 같습니다:

  • 스타일 보존 - 엔진은 글꼴, 색상 및 단락 서식을 그대로 유지합니다.
  • 반응형 HTML 출력 - 내장 옵션은 모바일 장치에 적합한 유동 레이아웃을 생성합니다.
  • 확장 가능한 REST 인터페이스 - 로컬 변환 바이너리를 관리하지 않고도 모든 Python 애플리케이션에서 서비스를 호출할 수 있습니다.

자세한 API 사용법은 공식 문서API 참조를 참조하십시오.

솔루션 구축: Python에서 DOCX를 HTML 변환

SDK를 설치하고 필요한 클래스를 가져오기

pip install groupdocs-conversion-cloud
from groupdocs_conversion_cloud import (
    ConvertApi, ConvertSettings, HtmlOptions,
    StorageApi, FileInfo, Configuration, ApiClient
)

자격 증명으로 API 클라이언트 구성

config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"

api_client = ApiClient(configuration=config)
convert_api = ConvertApi(api_client)
storage_api = StorageApi(api_client)

DOCX 소스 파일 업로드

# Assume 'sample.docx' is in the local folder
with open("sample.docx", "rb") as file:
    storage_api.upload_file(path="input/sample.docx", file=file)

DOCX를 반응형 HTML로 변환

file_info = FileInfo()
file_info.file_path = "input/sample.docx"

html_options = HtmlOptions()
html_options.responsive = True          # Enable responsive layout
html_options.embed_fonts = True         # Embed custom fonts if any

convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "html"
convert_settings.options = html_options

result = convert_api.convert_document(convert_settings)
# The result contains the URL of the generated HTML file
print("HTML file URL:", result.path)

생성된 HTML 파일 다운로드

output_path = "output/sample.html"
with open(output_path, "wb") as out_file:
    storage_api.download_file(path=result.path, out_file=out_file)
print("HTML saved to:", output_path)

전체 코드 예제: DOCX를 HTML로 변환하고 반응형 출력

다음 스크립트는 모든 단계를 하나의 실행 가능한 프로그램으로 결합합니다.

from groupdocs_conversion_cloud import (
    ConvertApi, ConvertSettings, HtmlOptions,
    StorageApi, FileInfo, Configuration, ApiClient
)

def main():
    # 1. Configure the client
    config = Configuration()
    config.client_id = "YOUR_CLIENT_ID"
    config.client_secret = "YOUR_CLIENT_SECRET"

api_client = ApiClient(configuration=config)
    convert_api = ConvertApi(api_client)
    storage_api = StorageApi(api_client)

# 2. Upload DOCX file
    local_file = "sample.docx"
    remote_path = "input/sample.docx"
    with open(local_file, "rb") as f:
        storage_api.upload_file(path=remote_path, file=f)

# 3. Prepare conversion settings
    file_info = FileInfo()
    file_info.file_path = remote_path

html_options = HtmlOptions()
    html_options.responsive = True
    html_options.embed_fonts = True

settings = ConvertSettings()
    settings.file_info = file_info
    settings.format = "html"
    settings.options = html_options

# 4. Execute conversion
    result = convert_api.convert_document(settings)
    print("Conversion completed. HTML URL:", result.path)

# 5. Download the HTML result
    output_file = "sample_converted.html"
    with open(output_file, "wb") as out:
        storage_api.download_file(path=result.path, out_file=out)
    print("HTML saved to:", output_file)

if __name__ == "__main__":
    main()

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(sample.docx, sample_converted.html)를 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

cURL 및 REST API를 사용한 DOCX에서 HTML 변환 자동화

Python 코드를 작성하지 않고도 REST 엔드포인트에 대해 cURL 명령을 사용하여 동일한 변환을 수행할 수 있습니다.

1. 액세스 토큰 가져오기

curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

응답에는 이후 호출에서 사용할 access_token이 포함됩니다.

2. DOCX 파일 업로드

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@sample.docx"

3. DOCX를 반응형 HTML로 변환 요청

curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "fileInfo": { "filePath": "input/sample.docx" },
    "format": "html",
    "options": { "responsive": true, "embedFonts": true }
}'

응답은 생성된 HTML 파일의 path를 포함하는 JSON 객체를 반환합니다.

4. HTML 결과 다운로드

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_converted.html

전체 매개변수 목록은 API 참조를 확인하십시오.

DOCX를 반응형 HTML 변환 설정 미세 조정

SDK는 생성된 HTML의 품질과 크기를 제어할 수 있는 여러 옵션을 제공합니다.

  • 반응형 플래그 - html_options.responsive = True 뷰포트‑친화적인 CSS 래퍼를 추가합니다.
  • 폰트 포함 - html_options.embed_fonts = True 사용자 정의 폰트가 base64 데이터로 포함되도록 보장합니다.
  • 이미지 보존 - html_options.extract_images = False 이미지를 별도 파일로 만들지 않고 인라인으로 유지합니다.
  • 사용자 정의 CSS - html_options.css를 통해 CSS 문자열을 제공하여 사이트 전체 스타일을 적용할 수 있습니다.

사용자 정의 CSS 문자열 설정 예시:

custom_css = "body {font-family: Arial, sans-serif; line-height: 1.6;}"
html_options.css = custom_css

웹 프런트‑엔드의 요구에 따라 이러한 설정을 조정하십시오.

결론

GroupDocs.Conversion Cloud SDK for Python 은(는) Python에서 DOCX를 HTML로 변환하는 작업을 직관적이고 신뢰할 수 있으며 확장 가능하게 만들어 줍니다. 위 단계들을 따라 하면 자동 변환을 모든 백엔드 서비스에 통합하고, 반응형 마크업을 생성하며, 스타일링 및 자산에 대한 완전한 제어를 유지할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 획득해야 함을 기억하세요; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며 평가를 위해 임시 라이선스 페이지 를 얻을 수 있습니다. SDK가 준비되면 DOCX 소스에서 풍부한 HTML 미리보기를 제공하는 것이 애플리케이션 워크플로의 일상적인 부분이 됩니다.

자주 묻는 질문

  • Python에서 GroupDocs를 사용하여 DOCX를 HTML로 변환하려면 어떻게 해야 하나요?
    Convert API를 GroupDocs.Conversion Cloud SDK for Python에서 사용하고, 반응형 출력을 위해 HtmlOptions를 구성한 다음 convert_document를 호출합니다. SDK는 생성된 HTML 파일에 대한 URL을 반환합니다.

  • HTML 출력물을 모바일 친화적으로 만들 수 있나요?
    예, html_options.responsive = True 로 설정하십시오. SDK는 CSS를 삽입하여 레이아웃을 다양한 화면 너비에 자동으로 맞춥니다.

  • What authentication mechanism does the SDK require?
    SDK는 OAuth 클라이언트‑자격 증명 흐름을 사용합니다. API 인스턴스를 만들기 전에 Configuration 객체에 client_idclient_secret을 제공하십시오.

  • DOCX 파일에 대한 크기 제한이 있나요?
    클라우드 서비스는 변환을 위해 최대 100 MB까지의 파일을 허용합니다. 더 큰 문서는 업로드하기 전에 분할하거나 청크로 처리해야 합니다.

더 읽기