HTML 文件轉換為 Word 格式是產生報告、發票或為最終使用者提供動態內容時的常見需求。Aspose.HTML Cloud SDK for PHP 是一個強大的函式庫,可簡化在伺服器端將 HTML 轉換為 DOCX 的過程。本指南將帶您完成整個工作流程,從安裝與安全處理 HTML 到完整的可投入生產的程式碼範例以及最佳實踐建議。

HTML 轉換為 DOCX(使用 PHP)的 5 個步驟

  1. 安裝 Aspose.HTML Cloud 函式庫:使用 Composer 將套件加入您的專案。
composer require aspose-html-cloud
  1. 使用您的 Aspose Cloud 憑證進行驗證:建立一個 Configuration 物件,設定您的 client ID 與 secret,然後取得存取權杖。
use Aspose\HTML\Configuration;

$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
  1. 準備 HTML 內容:從檔案或字串載入來源 HTML,並可選擇性地進行清理以避免 XSS。
use Aspose\HTML\Conversion\ConversionApi;

$htmlPath = __DIR__ . '/sample.html';
$htmlContent = file_get_contents($htmlPath);
// Example sanitization (replace with a robust library for production)
$htmlContent = strip_tags($htmlContent, '<p><a><img><style><div>');
  1. 轉換為 DOCX:呼叫轉換端點並指定目標輸出格式。主要方法為 convertDocument
$apiInstance = new ConversionApi($config);
$convertRequest = new \Aspose\HTML\Model\ConvertDocumentRequest(
    $htmlContent,
    'HTML',
    'DOCX'
);
$docxResult = $apiInstance->convertDocument($convertRequest);
file_put_contents('output.docx', $docxResult);
  1. 取得並清理:轉換會回傳二進位串流,您可以將其儲存為 DOCX 檔案。請確保處理錯誤並釋放任何資源。
if ($docxResult) {
    echo "Conversion successful. DOCX saved as output.docx";
} else {
    echo "Conversion failed.";
}

上述步驟展示了在 PHP 中將 HTML 轉 DOCX 轉換(PHP) 的簡單方法,同時也說明了在何處加入安全檢查和性能調整。

使用 Aspose.HTML 的 PHP HTML 轉 DOCX 轉換 - 完整程式碼範例

以下範例將所有部分組合成一個可執行的腳本。

<?php
require 'vendor/autoload.php';

use Aspose\HTML\Configuration;
use Aspose\HTML\Conversion\ConversionApi;
use Aspose\HTML\Model\ConvertDocumentRequest;

// 1. Configure client credentials
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');

// 2. Load and optionally sanitize HTML
$htmlPath = __DIR__ . '/sample.html';
$htmlContent = file_get_contents($htmlPath);
$htmlContent = strip_tags($htmlContent, '<p><a><img><style><div>');

// 3. Initialize the conversion API
$apiInstance = new ConversionApi($config);

// 4. Create conversion request (HTML -> DOCX)
$convertRequest = new ConvertDocumentRequest(
    $htmlContent,   // source HTML string
    'HTML',         // source format
    'DOCX'          // target format
);

// 5. Execute conversion
try {
    $docxStream = $apiInstance->convertDocument($convertRequest);
    file_put_contents('output.docx', $docxStream);
    echo "HTML successfully converted to DOCX. File saved as output.docx";
} catch (Exception $e) {
    echo 'Conversion error: ', $e->getMessage();
}

注意: 此程式碼範例展示了核心功能。在您的專案中使用之前,請確保更新檔案路徑(sample.htmloutput.docx),驗證所有必要的相依項已正確安裝,並在開發環境中徹底測試。若遇到任何問題,請參閱官方文件或聯繫支援團隊以獲得協助。

使用 cURL 透過 REST API 從 HTML 產生 Word 文件

您也可以透過直接呼叫 Aspose.HTML Cloud REST 端點,無需編寫 PHP 程式碼,即完成轉換。

  1. 取得存取權杖
curl -X POST "https://api.aspose.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. 上傳來源 HTML 檔案
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.html" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -T sample.html
  1. 請求轉換為 DOCX
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"sample.html","outputPath":"output.docx"}'
  1. 下載產生的 DOCX 檔案
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.docx

以下 cURL 命令示範了從驗證到檔案檢索的完整轉換工作流程。欲了解更多細節,請參閱 官方 API 文件

Aspose.HTML Cloud SDK for PHP - 前置條件與設定

在開始編寫程式碼之前,請確保您的環境符合以下要求:

  • PHP 7.4 或更高版本
  • 全域安裝的 Composer
  • 具備有效客戶端憑證的活躍 Aspose Cloud 帳戶

安裝庫並下載最新的套件:

composer require aspose-html-cloud

如果您願意,也可以從 GitHub 克隆原始碼:

git clone https://github.com/aspose-html-cloud/aspose-html-cloud-php.git

安裝完成後,請按照步驟部分所示配置您的客戶端 ID 和密鑰。欲取得完整的配置選項清單,請參閱文件

Aspose.HTML Cloud SDK for PHP Capabilities for High‑Quality DOCX Generation

  • 精確的 CSS 呈現 - 此函式庫會解析外部與內嵌 CSS,保留版面配置、字型與顏色於產生的 DOCX 中。
  • 嵌入字型支援 - 使用 @font-face 規則嵌入自訂字型,確保 Word 文件在各平台上外觀一致。
  • 安全的輸入處理 - 內建的淨化掛鉤讓您剔除不安全的標籤與屬性,降低轉換過程中的 XSS 風險。
  • 效能控制 - 如 maxImageResolutiondisableExternalResources 等選項,讓您在速度與精確度之間微調。
  • 批次處理 - API 可接受 HTML 檔案集合,支援高吞吐量的轉換管線。

這些功能使該函式庫在伺服器端文件生成時,品質與安全性同等重要,成為理想的選擇。

結論

在 PHP 中將 HTML 轉換為 DOCX 現在是一個簡化的流程,這要歸功於 Aspose.HTML Cloud SDK for PHP。按照步驟操作,套用安全最佳實踐,並利用庫的效能選項,您可以可靠地產生保留原始 HTML 外觀的 Word 文件。請記得為生產環境取得適當的授權;產品頁面上提供了價格細節,您也可以從 臨時授權頁面 獲得測試用的臨時授權。有了這些知識,您就可以在 PHP 應用程式中整合高品質的 HTML 轉 DOCX 轉換。

常見問題

  • 在 PHP 中開始 HTML 轉換為 DOCX 的最簡單方法是什麼?
    在透過 Composer 安裝 Aspose.HTML Cloud 函式庫後,使用單行的 convertDocument 呼叫即可。本指南中的範例展示了所需的最少程式碼。

  • 如何在轉換過程中保護我的應用程式免受惡意 HTML 的影響?
    在將內容發送至轉換 API 之前,使用諸如 HTMLPurifier 之類的函式庫對輸入進行清理,或使用函式庫提供的內建清理掛鉤。

  • 庫是否支援轉換包含外部圖像的 HTML?
    是的。預設情況下,會抓取外部資源並嵌入。如果您希望保持 DOCX 檔案較小,可以使用 disableExternalResources 選項停用此行為。

  • 我可以在哪裡找到 DOCX 輸出的更高階設定選項?
    所有轉換設定皆記錄於官方文件,包括頁面大小、邊距與字型嵌入等選項。

閱讀更多