將 Word 檔案轉換為適合網路的標記是建構文件門戶、部落格或 e‑learning 平台時的常見需求。 GroupDocs.Conversion Cloud SDK for Python 提供強大的 API,能在雲端處理繁重的工作,讓您專注於應用程式邏輯。在本指南中,您將學習如何將 Word 文件轉換為 HTML 在 Python 中,一步步操作,查看完整的程式碼範例,探索等效的 cURL 呼叫,並掌握大規模轉換的效能技巧。
如何在 Python 中將 Word 文件轉換為 HTML - 步驟說明
上傳 DOCX 檔案至 GroupDocs Cloud storage:使用
StorageApi.upload_file方法將本機 Word 檔案放置到雲端。with open(LOCAL_INPUT_PATH, "rb") as input_stream: storage_api.upload_file(path=REMOTE_INPUT_PATH, file=input_stream)此步驟確保檔案可被轉換服務存取。
配置 HTML 轉換選項: 建立
HtmlConvertOptions的實例以保留樣式、圖像和超連結。
html_options = HtmlConvertOptions() # Default options preserve most formatting
如需更細緻的控制,請參閱 HTML 轉換選項文件.
- 請求轉換為 HTML: 使用遠端輸入路徑、目標格式
"html"和輸出路徑建立ConvertDocumentRequest。
convert_request = ConvertDocumentRequest(
file_path=REMOTE_INPUT_PATH,
format="html",
output_path=REMOTE_OUTPUT_PATH,
options=html_options,
)
conversion_api.convert_document(convert_request)
SDK 會返回一個作業 ID,若需要非同步處理,您可以輪詢該 ID。
- 下載產生的 HTML 檔案: 使用
StorageApi.download_file取得已轉換的檔案。
downloaded_bytes = storage_api.download_file(path=REMOTE_OUTPUT_PATH)
with open(LOCAL_OUTPUT_PATH, "wb") as output_stream:
output_stream.write(downloaded_bytes)
產生的 sample.html 包含乾淨且符合標準的標記,可直接用於網站發佈。
- 清理暫存檔案:刪除雲端儲存中的來源 DOCX 與產生的 HTML,以保持帳戶整潔。
storage_api.delete_file(DeleteFileRequest(path=REMOTE_INPUT_PATH))
storage_api.delete_file(DeleteFileRequest(path=REMOTE_OUTPUT_PATH))
此最後一步可防止不必要的儲存費用。
按照以下步驟,您可以可靠地將 Word 文件轉換為 Python 中的 HTML,以用於任何自動化管道。
Python 中從 Word 文檔生成 HTML 的完整工作示例
以下示例展示了完整的工作流程,從身份驗證到清理,使用 GroupDocs.Conversion Cloud SDK for Python。
import os
from groupdocs_conversion_cloud import (
Configuration,
ApiClient,
ConversionApi,
ConvertDocumentRequest,
HtmlConvertOptions,
)
from groupdocs_storage_cloud import (
Configuration as StorageConfiguration,
ApiClient as StorageApiClient,
StorageApi,
DeleteFileRequest,
)
# ----------------------------------------------------------------------
# Replace these placeholders with your actual GroupDocs Cloud credentials
# ----------------------------------------------------------------------
CLIENT_ID = "YOUR_CLIENT_ID"
CLIENT_SECRET = "YOUR_CLIENT_SECRET"
# --------------------------- Conversion API ----------------------------
conv_config = Configuration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
conv_api_client = ApiClient(conv_config)
conversion_api = ConversionApi(conv_api_client)
# ---------------------------- Storage API ------------------------------
storage_config = StorageConfiguration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
storage_api_client = StorageApiClient(storage_config)
storage_api = StorageApi(storage_api_client)
# --------------------------- File Paths --------------------------------
LOCAL_INPUT_PATH = "sample.docx" # Existing Word document on your machine
LOCAL_OUTPUT_PATH = "sample.html" # Desired HTML output location
REMOTE_INPUT_PATH = "sample.docx" # Path inside GroupDocs Cloud storage
REMOTE_OUTPUT_PATH = "sample.html" # Path inside GroupDocs Cloud storage
# --------------------------- Upload Input ------------------------------
with open(LOCAL_INPUT_PATH, "rb") as input_stream:
storage_api.upload_file(path=REMOTE_INPUT_PATH, file=input_stream)
# --------------------------- Convert to HTML ---------------------------
html_options = HtmlConvertOptions() # Default HTML conversion options
convert_request = ConvertDocumentRequest(
file_path=REMOTE_INPUT_PATH,
format="html",
output_path=REMOTE_OUTPUT_PATH,
options=html_options,
)
conversion_api.convert_document(convert_request)
# --------------------------- Download Result ---------------------------
downloaded_bytes = storage_api.download_file(path=REMOTE_OUTPUT_PATH)
with open(LOCAL_OUTPUT_PATH, "wb") as output_stream:
output_stream.write(downloaded_bytes)
# --------------------------- Cleanup Remote Files ----------------------
storage_api.delete_file(DeleteFileRequest(path=REMOTE_INPUT_PATH))
storage_api.delete_file(DeleteFileRequest(path=REMOTE_OUTPUT_PATH))
注意: 此程式碼範例展示了核心功能。在您的專案中使用之前,請確保更新所有檔案路徑和設定值以符合實際環境,驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯繫支援團隊以獲得協助。
使用 cURL 透過 REST API 將 Word 轉換為 HTML
如果您偏好純粹的 HTTP 方式,亦可使用 cURL 命令執行相同的轉換。流程與 SDK 步驟相同:取得存取權杖、上傳 DOCX、啟動轉換,並下載 HTML 結果。
# 1. Get an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
# Response contains "access_token"
# 2. Upload the source DOCX
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@sample.docx"
# 3. Request conversion to HTML
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert?format=html&outputPath=sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filePath":"sample.docx","options":{}}'
# 4. Download the HTML result
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample.html
這些指令讓您能完全控制請求標頭和有效負載,對於除 Python 之外的環境進行除錯或整合時非常有用。欲了解更多細節,請參閱 API 參考。
為 Word 轉換為 HTML 準備環境
在編寫任何程式碼之前,請確保您的開發機器符合先決條件:
Python 3.7+ - SDK 依賴於現代語言功能。
GroupDocs Cloud credentials - client ID 和 secret 來自您的 GroupDocs 帳戶。
Package installation - 透過 pip 安裝 SDK。
pip install groupdocs-conversion-cloud此套件可在下載頁面取得。
網路存取 - SDK 會向 GroupDocs 伺服器發出 HTTPS 請求,因此必須開放外部埠 443。
一旦這些項目就位,您就可以執行先前顯示的完整範例,並立即開始將 word documents to HTML in Python 轉換。
優化 HTML 轉換效能
在處理大量批次或高流量服務時,請考慮以下優化措施:
- 重用 API 客戶端實例 - 為每個檔案建立
ConversionApi和StorageApi物件會增加開銷。請只建立一次並在多次轉換中重複使用。 - 串流上傳與下載 - 對於大於幾兆位元組的檔案,使用串流 API 以避免將整個檔案載入記憶體。SDK 支援類檔案物件,您可以直接從檔案句柄傳入。
- 平行化獨立轉換 - 若有多個 DOCX 檔案,可在不同執行緒或非同步任務中執行轉換。每個轉換在伺服器端都是獨立的,因此平行處理可線性擴展至您的帳戶限制。
- 調整 HTML 選項以減少大小 - 關閉嵌入式 CSS (
html_options.embed_css = False) 可在您打算使用外部樣式表時減少輸出檔案大小。
套用這些技巧有助於保持低延遲和可預測的資源消耗,尤其是當您需要 使用 Python 從 Word 文件生成 HTML 以支援高流量的 Web 服務時。
常見問題
如何在 Python 中使用 GroupDocs 將 Word 文件轉換為 HTML?
使用 GroupDocs.Conversion Cloud SDK for Python。該 SDK 允許您上傳 DOCX,調用轉換 API,並下載 HTML 輸出,全部只需幾行代碼。
從 Word 檔案在 Python 中輸出 HTML 有哪些選項?
HtmlConvertOptions 類別讓您保留樣式、圖像和超連結。您也可以透過其屬性控制 CSS 嵌入和頁面佈局。
我可以在 Python 中批量將多個 Word 文件轉換為 HTML 嗎?
可以。遍歷 DOCX 路徑列表,逐個上傳文件,並調用相同的轉換請求。SDK 會獨立處理每個作業。
測試是否需要臨時授權?
您可以從臨時授權頁面獲取臨時授權。它允許您在購買完整授權之前評估 SDK。
在哪裡可以找到 GroupDocs.Conversion Cloud SDK for Python 的定價詳情?
定價資訊可在產品頁面上取得。請前往 GroupDocs.Conversion Cloud SDK for Python 以獲取最新方案。
