PHPでHTMLからPNGへの変換は、サムネイルやメールプレビュー、レポート作成などで一般的に必要とされます。Aspose.HTML Cloud SDK for PHPは、サーバーサイドの変換を簡単に行える強力なライブラリを提供します。このガイドでは、SDKのセットアップ方法、変換オプションの設定、完全なコード例の実行、そして自動化ワークフロー向けにcURL REST呼び出しで同じタスクを実行する方法を学びます。

PHPでのHTMLからPNGへの変換 - ステップバイステップガイド

  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 リファレンスをご参照ください。

PHPでHTMLをPNGに変換 - 完全なコード例

この例では、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 で HTML を PNG に変換することは、Aspose.HTML Cloud SDK for PHP を使用すれば簡単になります。このライブラリはサーバー側でレンダリング、スケーリング、画像最適化を処理し、ブラウザや外部ツールが不要です。ステップバイステップのガイドに従うことで、サムネイル作成、メールレンダリング、レポート生成など、あらゆる PHP アプリケーションに高品質な PNG 生成を統合できます。製品ページで価格情報をご確認のうえ、実運用の際は適切なライセンスを取得してください。ライブラリを評価中は、一時ライセンスページから一時ライセンスを取得できます。

よくある質問

  • PHPでHTMLをPNGに変換する際、ブラウザーなしでどのように動作しますか?
    Aspose.HTML Cloud SDK for PHP は、サーバー上で独自のレンダリングエンジンを使用して HTML をレンダリングするため、ブラウザーやヘッドレス Chrome は必要ありません。

  • 画像のサイズと品質を制御できますか?
    はい。ConvertOptions クラスを使用して、幅、高さ、品質(0‑100)、および背景色を設定し、Convert API を呼び出す前に指定します。

  • 複数のHTMLファイルを一括でPNGに変換することは可能ですか? もちろんです。ファイルリストをループし、同じ ConvertApi インスタンスを再利用し、各イテレーションで入力と出力のパスを調整してください。

  • 商用プロジェクトに必要なライセンスは何ですか?
    本番環境では有料ライセンスが必要です。製品ページで価格を確認でき、一時ライセンスページ から一時評価ライセンスを取得できます。

さらに読む