將 Word 文件轉換為圖像預覽在構建 Web 入口網站或報告工具時是一個常見需求。 Aspose.OMR Cloud SDK for PHP 使 PHP 開發人員能夠以高保真度以程式方式將 DOCX 轉換為 JPG。在本教程中,您將看到完整的 PHP 範例、等效的 cURL REST 工作流程,以及準備環境所需的全部內容。完成後,您將擁有一個可重用的解決方案,可整合到任何 PHP 應用程式中。

完整的範例:在 PHP 中使用 Aspose.OMR Cloud SDK 將 DOCX 轉換為 JPG

此範例示範如何使用 Aspose.OMR Cloud SDK for PHP 將 DOCX 檔案轉換為 JPG 圖像。

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

use Aspose\OMR\Configuration;
use Aspose\OMR\Api\ConvertApi;
use Aspose\OMR\Model\ConvertDocumentRequest;
use Aspose\OMR\ApiException;

// -----------------------------------------------------------------------------
// Configuration – replace with your actual credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setApiKey('YOUR_API_KEY');

// -----------------------------------------------------------------------------
// Initialize the Convert API
// -----------------------------------------------------------------------------
$convertApi = new ConvertApi($config);

// -----------------------------------------------------------------------------
// File paths (adjust as needed)
// -----------------------------------------------------------------------------
$inputDocxPath  = __DIR__ . '/input.docx';
$outputJpgPath  = __DIR__ . '/output.jpg';

// -----------------------------------------------------------------------------
// Prepare request – stream the input file to avoid loading whole file into memory
// -----------------------------------------------------------------------------
$inputStream = fopen($inputDocxPath, 'rb');
if ($inputStream === false) {
    throw new RuntimeException("Unable to open input file: $inputDocxPath");
}

$request = new ConvertDocumentRequest();
$request->setFile($inputStream);          // Input DOCX stream
$request->setOutputFormat('jpg');         // Desired output format
$request->setOutputFileName('output.jpg'); // Optional: name for the generated file

try {
    // -------------------------------------------------------------------------
    // Perform conversion
    // -------------------------------------------------------------------------
    $responseStream = $convertApi->convertDocument($request);

// -------------------------------------------------------------------------
    // Write the resulting JPG to disk using a buffered copy (efficient for large files)
    // -------------------------------------------------------------------------
    $outputHandle = fopen($outputJpgPath, 'wb');
    if ($outputHandle === false) {
        throw new RuntimeException("Unable to open output file: $outputJpgPath");
    }

while (!feof($responseStream)) {
        $buffer = fread($responseStream, 8192);
        if ($buffer === false) {
            throw new RuntimeException('Error reading from response stream.');
        }
        fwrite($outputHandle, $buffer);
    }

fclose($outputHandle);
    fclose($inputStream);
    fclose($responseStream);

echo "Conversion successful. JPG saved to: $outputJpgPath\n";
} catch (ApiException $e) {
    // -------------------------------------------------------------------------
    // Handle API errors (e.g., authentication, unsupported format)
    // -------------------------------------------------------------------------
    fclose($inputStream);
    echo 'API Exception: ', $e->getMessage(), PHP_EOL;
    exit(1);
} catch (Exception $e) {
    // -------------------------------------------------------------------------
    // General error handling
    // -------------------------------------------------------------------------
    if (is_resource($inputStream)) {
        fclose($inputStream);
    }
    echo 'Error: ', $e->getMessage(), PHP_EOL;
    exit(1);
}

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

使用 cURL 的 REST API 將 DOCX 轉換為 JPG

如果您偏好純粹的 REST 方法,則可以使用幾個 cURL 命令執行相同的轉換。

  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. 上傳 DOCX 檔案 - 使用先前步驟中的令牌。
curl -X PUT "https://api.aspose.cloud/v4.0/omr/storage/file/input.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
  --data-binary "@input.docx"
  1. 請求轉換為 JPG.
curl -X POST "https://api.aspose.cloud/v4.0/omr/convert" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "FileName": "input.docx",
        "OutputFormat": "jpg",
        "OutputFileName": "output.jpg"
      }' -o response.json
  1. 下載生成的 JPG
curl -X GET "https://api.aspose.cloud/v4.0/omr/storage/file/output.jpg" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o output.jpg

如需完整參考,請參閱官方 API 文檔。

深入解析在 PHP 中使用 Aspose.OMR Cloud SDK 將 DOCX 轉換為 JPG

以下編號說明闡述了在 PHP 工作流程中執行將 DOCX 轉換為 JPG 的 PHP 程式碼的每個部分。

  1. Configuration Setup - Configuration 類別保存您的 AppSid 和 ApiKey。
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setApiKey('YOUR_API_KEY');
  1. API 初始化 - 使用配置建立 ConvertApi 的實例。
$convertApi = new ConvertApi($config);
  1. 準備輸入串流 - DOCX 檔案以二進位串流方式開啟,以避免將整個檔案載入記憶體。
$inputStream = fopen($inputDocxPath, 'rb');
  1. 建立請求 - ConvertDocumentRequest 指定輸入串流、所需的輸出格式(jpg),以及可選的輸出檔案名稱。
$request = new ConvertDocumentRequest();
$request->setFile($inputStream);
$request->setOutputFormat('jpg');
$request->setOutputFileName('output.jpg');
  1. 執行轉換並儲存結果 - convertDocument 會回傳一個回應串流,該串流會使用緩衝複製寫入 output.jpg。
$responseStream = $convertApi->convertDocument($request);
$outputHandle = fopen($outputJpgPath, 'wb');
while (!feof($responseStream)) {
    $buffer = fread($responseStream, 8192);
    fwrite($outputHandle, $buffer);
}

如需了解 ConvertApi 類的更多詳細資訊,請參閱 API 參考。

為 Aspose.OMR Cloud SDK 在 PHP 中做好環境準備

  1. 透過 Composer 安裝 SDK
composer require aspose/aspose-omr-cloud

此套件也可以從發佈頁面下載。

  1. 驗證 PHP 版本 - SDK 需要 PHP 7.2 或更高版本。

  2. 設定憑證 - 將程式碼中的 YOUR_APP_SID 和 YOUR_API_KEY 替換為您 Aspose Cloud 帳戶中的值。

  3. 自動載入相依項目 - Composer 產生的 vendor/autoload.php 檔案會載入所有必要的類別。

完成這些步驟後,您已準備好在 PHP 中使用 Aspose.OMR Cloud SDK 將 DOCX 轉換為 JPG。

結論

現在您已經了解如何使用 Aspose.OMR Cloud SDK 在 PHP 中高效地將 DOCX 轉換為 JPG。提供的程式碼範例、REST cURL 工作流程以及設定說明為您提供完整、可投入生產的解決方案,能夠整合到任何 PHP 專案中,包括 Laravel 應用程式。若需商業使用,請在 Aspose.OMR Cloud SDK for PHP 產品頁面購買授權;亦可透過 臨時授權頁面 取得臨時授權。立即開始將您的 Word 文件轉換為高品質的 JPG 圖像吧。

常見問題

如何在 PHP 中將 DOCX 轉換為 JPG?
使用 Aspose.OMR Cloud SDK for PHP。安裝 SDK 並配置您的憑證後,上面的 PHP 程式碼示例展示了將 DOCX 檔案轉換為 JPG 圖像的具體步驟。

在 Laravel 的 PHP 中是否可以將 DOCX 轉換為 JPG?
是的。SDK 可在任何 PHP 框架中使用,包括 Laravel。將轉換邏輯放在控制器或服務類別中,並從路由呼叫它。

在 PHP 中將 DOCX 轉換為高解析度 JPG 的最佳方法是什麼?
在轉換請求中調整輸出解析度參數(如果支援)。SDK 允許您在請求主體中指定 DPI 設定,以獲得更高品質的 JPG 輸出。

我可以在 PHP 中使用單一腳本將多個 DOCX 轉換為 JPG 嗎?
當然可以。遍歷 DOCX 檔案路徑陣列,重複使用相同的 ConvertApi 實例,並對每個檔案呼叫 convertDocument。此方法在批次處理時具有良好的擴展性。

閱讀更多