PHP 中將 HTML 轉換為 PNG 是創建縮圖、電子郵件預覽和報告的常見需求。Aspose.HTML Cloud SDK for PHP 提供了強大的庫,使伺服器端轉換變得簡單直觀。在本指南中,您將學習如何設置 SDK、配置轉換選項、運行完整的代碼示例,並使用 cURL REST 調用執行相同任務,以實現自動化工作流程。

HTML 轉 PNG 轉換(PHP)- 步驟指南

  1. 透過 Composer 安裝 SDK:使用官方的 Composer 指令將此函式庫加入您的專案。
composer require aspose-html-cloud
  1. 設定您的 Aspose Cloud 憑證:建立一個 Configuration 物件,並設定您的 AppSidAppKey
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. 初始化 Convert API:使用配置对象实例化 ConvertApi
$convertApi = new ConvertApi($config);
  1. 設定轉換選項:使用 ConvertOptions 定義輸出格式、尺寸、品質和背景顏色。
$options = new ConvertOptions();
$options->setOutputFormat('png');
$options->setWidth(1024);
$options->setHeight(0);               // Preserve aspect ratio
$options->setQuality(90);
$options->setBackgroundColor('#FFFFFF');
  1. 執行轉換:呼叫 convertLocal,使用來源 HTML 檔案和目標 PNG 路徑。
try {
    $convertApi->convertLocal($inputHtmlPath, $outputPngPath, $options);
    echo "Conversion successful: {$outputPngPath}\n";
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . "\n";
}

如需詳細的類別和方法資訊,請參閱 API 參考

HTML 轉 PNG(PHP) - 完整程式碼範例

此範例示範如何使用 Aspose.HTML Cloud SDK for PHP 將本機 HTML 檔案轉換為 PNG 圖像。

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

use Aspose\HTML\Cloud\Configuration;
use Aspose\HTML\Cloud\Api\ConvertApi;
use Aspose\HTML\Cloud\Model\ConvertOptions;

// -----------------------------------------------------------------------------
// Configuration – replace with your actual Aspose Cloud credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');

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

// -----------------------------------------------------------------------------
// Define source HTML and destination PNG paths (generic, adjust as needed)
// -----------------------------------------------------------------------------
$inputHtmlPath  = __DIR__ . '/sample.html';
$outputPngPath  = __DIR__ . '/sample.png';

// -----------------------------------------------------------------------------
// Set conversion options – adjust width/height, quality, and background color
// -----------------------------------------------------------------------------
$options = new ConvertOptions();
$options->setOutputFormat('png');      // Target format
$options->setWidth(1024);              // Desired width (pixels)
$options->setHeight(0);                // Height 0 preserves aspect ratio
$options->setQuality(90);              // PNG compression level (0‑100)
$options->setBackgroundColor('#FFFFFF'); // Optional background for transparent pages

// -----------------------------------------------------------------------------
// Perform the conversion
// -----------------------------------------------------------------------------
try {
    $convertApi->convertLocal($inputHtmlPath, $outputPngPath, $options);
    echo "Conversion successful: {$outputPngPath}\n";
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . "\n";
}

// -----------------------------------------------------------------------------
// No explicit cleanup required – SDK handles temporary resources internally
// -----------------------------------------------------------------------------
?>

注意: 此程式碼範例展示了核心功能。在將其用於您的專案之前,請確保更新檔案路徑(sample.htmlsample.png 等)以符合實際檔案位置,確認已正確安裝所有必要的相依性,並在開發環境中徹底測試。如遇任何問題,請參閱官方文件或聯繫支援團隊尋求協助。

使用 cURL 和 REST API 將 HTML 轉換為 PNG

以下 cURL 命令展示了如何使用 Aspose.HTML Cloud REST API 來實現相同的 HTML 轉 PNG 轉換。

  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" \
     -H "Content-Type: text/html" \
     --data-binary "@sample.html"
  1. 請求轉換為 PNG
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=png&width=1024&quality=90&backgroundColor=%23FFFFFF" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"sample.html","outputPath":"sample.png"}'
  1. 下載生成的 PNG 檔案.
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample.png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample.png

欲取得完整的參數清單與其他選項,請參閱官方 API 文件

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

在開始之前,請確保您已具備以下項目:

  • PHP 7.4 或更高版本已安裝。
  • Composer 已在您的開發機器上安裝。
  • 擁有有效 AppSidAppKey 的 Aspose Cloud 帳戶。

使用 Composer 安裝 SDK:

composer require aspose-html-cloud

您可以從官方發行頁面下載最新的套件: Aspose.HTML Cloud SDK for PHP Release.

按照步驟部分所示配置您的憑證,然後您就可以開始將 HTML 轉換為 PNG。

結論

在 PHP 中使用 Aspose.HTML Cloud SDK for PHP 進行 HTML 轉 PNG 變得輕而易舉。該函式庫在伺服器端處理渲染、縮放與圖像優化,無需 瀏覽器 或外部工具。依循步驟說明,即可在任何 PHP 應用程式中整合高品質 PNG 產生,無論是縮圖建立、電子郵件渲染或報告產出。請務必取得正式授權以供生產環境使用;產品頁面提供價格資訊,您亦可在評估函式庫時從 臨時授權頁面 獲取臨時授權。

FAQs

  • HTML 轉 PNG 在 PHP 中如何在沒有瀏覽器的情況下工作?
    Aspose.HTML Cloud SDK for PHP 在伺服器上使用其自有的渲染引擎來渲染 HTML,因此不需要瀏覽器或無頭 Chrome。

  • 我可以控制圖像的尺寸和品質嗎?
    可以。使用 ConvertOptions 類別在呼叫 Convert API 之前設定寬度、高度、品質(0‑100)以及背景顏色。

  • 是否可以批量將多個 HTML 檔案轉換為 PNG?
    完全可以。遍歷您的檔案清單,重複使用相同的 ConvertApi 實例,並在每次迭代中調整輸入和輸出路徑。

  • 商業專案需要什麼授權?
    生產環境需要付費授權。您可以在產品頁面查看價格,並從臨時授權頁面取得臨時評估授權。

閱讀更多