การแปลงเอกสาร DOCX เป็น HTML เป็นความต้องการที่พบบ่อยเมื่อสร้างโซลูชันการรายงานหรือการจัดการเนื้อหาแบบเว็บ‑เบส GroupDocs.Conversion Cloud SDK for Python ช่วยให้นักพัฒนาสามารถทำการแปลง DOCX เป็น HTML ใน Python ได้โดยอัตโนมัติด้วยเพียงไม่กี่การเรียก API ในบทแนะนำนี้คุณจะตั้งค่า SDK, ทำตามขั้นตอนการดำเนินการแบบทีละขั้น, ดูตัวอย่างโค้ดเต็มรูปแบบ, และเรียนรู้วิธีปรับแต่งผลลัพธ์ให้เหมาะกับหน้าเว็บที่ตอบสนองต่ออุปกรณ์.

ข้อกำหนดการแปลง DOCX เป็น HTML ด้วย Python

นักพัฒนาที่สร้างเว็บแอปพลิเคชันที่ขับเคลื่อนด้วยเอกสารมักได้รับไฟล์ DOCX จากผู้ใช้และต้องแสดงเนื้อหาของไฟล์เหล่านั้นทันทีในเบราว์เซอร์ ความต้องการทั่วไปคือ:

  • รักษาการจัดรูปแบบต้นฉบับ ตาราง และรูปภาพขณะเรนเดอร์เป็น HTML.
  • สร้างมาร์กอัปที่ปรับให้เข้ากับขนาดหน้าจอต่าง ๆ โดยไม่ต้องทำงาน CSS เพิ่มเติม.
  • ทำการแปลงในสภาพแวดล้อมฝั่งเซิร์ฟเวอร์โดยไม่ต้องติดตั้งชุดสำนักงานที่มีขนาดใหญ่.

การแปลงด้วยตนเองโดยใช้เครื่องมือบนเดสก์ท็อปหรือไลบรารี open‑source อาจทำให้เกิดข้อผิดพลาดได้ง่าย โดยเฉพาะสำหรับเลย์เอาต์ที่ซับซ้อน และไม่สามารถขยายได้สำหรับงานที่มีปริมาณสูงที่ขับเคลื่อนด้วย API

วิธีการ: แปลง DOCX เป็น HTML อัตโนมัติ

GroupDocs.Conversion Cloud SDK for Python ให้บริการ API บนคลาวด์ที่จัดการการแปลงรูปแบบอย่างเต็มที่ ความสามารถหลักที่ตรงกับความต้องการคือ:

  • รักษาการจัดรูปแบบ - เครื่องยนต์จะรักษาฟอนต์ สี และการจัดรูปแบบย่อหน้าให้คงเดิม.
  • ผลลัพธ์ HTML ที่ตอบสนอง - ตัวเลือกในตัวจะสร้างเลย์เอาต์ที่ยืดหยุ่นเหมาะกับอุปกรณ์มือถือ.
  • อินเทอร์เฟซ REST ที่ขยายได้ - คุณสามารถเรียกใช้บริการจากแอปพลิเคชัน Python ใดก็ได้โดยไม่ต้องจัดการไบนารีการแปลงในเครื่อง.

สำหรับการใช้งาน API อย่างละเอียด ดูที่ เอกสารอย่างเป็นทางการ และ อ้างอิง API.

สร้างโซลูชัน: การแปลง DOCX เป็น HTML ด้วย Python

ติดตั้ง SDK และนำเข้าคลาสที่จำเป็น

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

กำหนดค่า API 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)

อัปโหลดไฟล์ 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) ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.

การทำอัตโนมัติการแปลง DOCX เป็น HTML ด้วย cURL และ REST API

คุณสามารถทำการแปลงเดียวกันได้โดยไม่ต้องเขียนโค้ด Python โดยใช้คำสั่ง cURL กับ REST endpoint

1. รับ Access Token

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 }
}'

การตอบกลับจะคืนค่าอ็อบเจ็กต์ JSON พร้อมกับ path ของไฟล์ HTML ที่สร้างขึ้น

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 ที่สร้างขึ้นได้

  • Responsive flag - html_options.responsive = True เพิ่ม wrapper CSS ที่เป็นมิตรกับ viewport.
  • Embed fonts - html_options.embed_fonts = True ทำให้แน่ใจว่าแบบอักษรที่กำหนดเองจะถูกรวมเป็นข้อมูล base64.
  • Preserve images - html_options.extract_images = False ทำให้ภาพคงอยู่ในบรรทัดเดียวแทนการสร้างไฟล์แยก.
  • Custom CSS - คุณสามารถระบุสตริง CSS ผ่าน html_options.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 ทำให้การแปลง DOCX เป็น HTML ใน Python เป็นเรื่องง่าย เชื่อถือได้ และสามารถขยายได้. โดยการทำตามขั้นตอนข้างต้น คุณสามารถรวมการแปลงอัตโนมัติเข้าไปในบริการแบ็กเอนด์ใดก็ได้ สร้างมาร์กอัปที่ตอบสนองต่ออุปกรณ์ต่าง ๆ และควบคุมการจัดรูปแบบและทรัพยากรได้อย่างเต็มที่. อย่าลืมขอรับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในสภาพแวดล้อมการผลิต; รายละเอียดการกำหนดราคามีให้ดูบนหน้าผลิตภัณฑ์และคุณสามารถรับใบอนุญาตชั่วคราวได้จาก หน้าลิขสิทธิ์ชั่วคราว เพื่อการประเมินผล. เมื่อมี SDK อยู่แล้ว การส่งมอบตัวอย่าง HTML ที่สมบูรณ์จากแหล่ง DOCX จะกลายเป็นส่วนหนึ่งของกระบวนการทำงานของแอปพลิเคชันของคุณอย่างเป็นประจำ.

คำถามที่พบบ่อย

  • ฉันจะทำการแปลง DOCX เป็น HTML ใน Python โดยใช้ GroupDocs ได้อย่างไร?
    ใช้ Convert API จาก GroupDocs.Conversion Cloud SDK for Python, กำหนดค่า HtmlOptions เพื่อให้ผลลัพธ์ตอบสนอง, และเรียก convert_document. SDK จะคืน URL ไปยังไฟล์ HTML ที่สร้างขึ้น.

  • สามารถทำให้ผลลัพธ์ HTML เป็นมิตรกับอุปกรณ์มือถือได้หรือไม่?
    ใช่, ตั้งค่า html_options.responsive = True. SDK จะฉีด CSS ที่ปรับเลย์เอาต์โดยอัตโนมัติเพื่อให้เข้ากับความกว้างหน้าจอที่แตกต่างกัน.

  • กลไกการตรวจสอบสิทธิ์ที่ SDK ต้องการคืออะไร?
    SDK ใช้กระบวนการ OAuth client‑credentials. ให้ใส่ client_id และ client_secret ของคุณในอ็อบเจ็กต์ Configuration ก่อนสร้างอินสแตนซ์ของ API.

  • มีขนาดจำกัดสำหรับไฟล์ DOCX หรือไม่?
    บริการคลาวด์รับไฟล์ได้สูงสุด 100 MB สำหรับการแปลง หากเอกสารมีขนาดใหญ่กว่า ควรแยกหรือประมวลผลเป็นส่วนย่อยก่อนอัปโหลด

อ่านเพิ่มเติม