將豐富的 Word 文件轉換為適合 Web 的 HTML 是現代 PHP 應用程式的常見需求。 GroupDocs.Conversion Cloud SDK for PHP 提供強大的 API,在雲端處理繁重的工作。在本教學中,我們示範如何使用 SDK 在 PHP 中將 DOCX 轉換為 HTML。您將學習如何設定函式庫、執行完整的程式碼範例,以及使用 cURL 呼叫執行相同的轉換。
如何在 PHP 中將 DOCX 轉換為 HTML - 步驟說明
- 透過 Composer 安裝 SDK:將庫加入您的專案,使用官方的 Composer 命令。
composer require groupdocs-conversion-cloud
- 初始化配置:建立一個
Configuration物件,並設定您的 App SID 與 App Key。
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
- 配置 HTML 轉換選項: 調整設定,例如圖像提取和頁碼處理。
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
- 建立轉換設定:定義來源檔案、目標格式,並附加 HTML 選項。
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
- 執行轉換:呼叫
convertDocument方法並處理結果。
$convertApi = new GroupDocs\Conversion\Cloud\Api\ConvertApi($config);
try {
$result = $convertApi->convertDocument($convertSettings);
echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}
如需了解每個類別和方法的詳細資訊,請參閱 API 參考。
完整程式碼範例:從 DOCX 產生 HTML(使用 PHP)
以下範例示範了使用 SDK 的完整端對端轉換。
<?php
require __DIR__ . '/vendor/autoload.php';
use GroupDocs\Conversion\Cloud\Configuration;
use GroupDocs\Conversion\Cloud\Api\ConvertApi;
use GroupDocs\Conversion\Cloud\Model\ConvertSettings;
use GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions;
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
$convertApi = new ConvertApi($config);
$inputFilePath = 'sample.docx';
$outputFilePath = 'output.html';
$htmlOptions = new HtmlConvertOptions();
$htmlOptions->setExtractImages(true); // extract images to separate files
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false); // generate plain HTML, not a zip archive
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
$convertSettings = new ConvertSettings();
$convertSettings->setFilePath($inputFilePath);
$convertSettings->setOutputPath($outputFilePath);
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
try {
$result = $convertApi->convertDocument($convertSettings);
echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}
注意: 此程式碼範例展示了核心功能。在您的專案中使用之前,請確保更新檔案路徑(
sample.docx、output.html)以符合實際檔案位置,驗證所有必要的相依項已正確安裝,並在開發環境中徹底測試。如果您遇到任何問題,請參閱官方文件或聯繫支援團隊以獲得協助。
使用 cURL 和 REST API 將 DOCX 文件轉換為 HTML
SDK 也提供了一個可使用 cURL 呼叫的 REST 端點。以下是典型的工作流程。
取得存取令牌
將YOUR_CLIENT_ID和YOUR_CLIENT_SECRET替換為您的憑證。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"}'上傳 DOCX 檔案
使用先前步驟中的令牌。curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/storage/file/sample.docx" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "file=@sample.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 '{ "filePath": "sample.docx", "outputPath": "output.html", "format": "html", "options": { "extractImages": true, "zipOutput": false } }'下載生成的 HTML
curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -o output.html
欲取得參數的完整清單,請參閱官方 API 文件。
安裝與配置 GroupDocs.Conversion Cloud SDK for PHP
composer require groupdocs-conversion-cloud
從release page下載最新套件。SDK 需要 PHP 7.4 或更高版本,並且需要具有有效憑證的活躍 GroupDocs Cloud 帳戶。
require __DIR__ . '/vendor/autoload.php';
use GroupDocs\Conversion\Cloud\Configuration;
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID'); // obtain from your GroupDocs Cloud dashboard
$config->setAppKey('YOUR_APP_KEY');
GroupDocs.Conversion Cloud SDK for PHP DOCX 轉換為 HTML 的功能
- 圖像提取 -
extractImages讓您將嵌入的圖片提取為單獨的文件,保持版面忠實度。 - 頁碼控制 - 可以停用
preserveOriginalPageNumbers以產生連續的 HTML 流。 - 純 HTML 輸出 - 將
zipOutput設為 false 會產生單一 HTML 檔案,而不是 ZIP 壓縮檔,簡化後續處理。 - 隱藏文字處理 -
showHiddenText決定隱藏內容是否出現在最終的 HTML 中。 - 單頁渲染 -
renderToSinglePage可以將所有頁面合併為一個 HTML 文件,便於嵌入。
所有功能均在文檔中描述。
結論
在 PHP 中將 DOCX 轉換為 HTML 變得簡單,只需使用 GroupDocs.Conversion Cloud SDK for PHP。該庫在不需要伺服器上安裝 Microsoft Office 的情況下,處理複雜的格式、圖像提取和頁面管理。按照上述步驟操作後,您可以將 DOCX 轉 HTML 的轉換整合到任何基於 PHP 的工作流程中,無論是使用原生 SDK 調用還是 RESTful cURL 請求。請記得為生產環境獲取適當的授權;定價詳情可在 臨時授權頁面 查看。立即開始轉換,為您的使用者提供豐富的 Web 就緒內容。
常見問題
如何在 PHP 中實現 DOCX 轉 HTML 而無需安裝額外軟體?
基於雲端的 SDK 在 GroupDocs 伺服器上執行所有處理,因此您只需要 PHP 函式庫和您的憑證。我可以在單個請求中轉換多個 DOCX 文件嗎?
API 支援透過在程式碼中迴圈處理檔案來進行批次轉換;每次呼叫都會返回其自己的 HTML 結果。DOCX 檔案內的圖像會發生什麼情況?
啟用extractImages後,圖像會被保存為單獨的檔案,並在生成的 HTML 中被引用,讓您可以直接提供它們。是否有方法自訂產生的 HTML 版面配置?
您可以對 HTML 輸出進行後處理,或調整轉換選項(例如renderToSinglePage)以影響結構。
