PHPでHTMLからPNGへの変換は、サムネイルやメールプレビュー、レポート作成などで一般的に必要とされます。Aspose.HTML Cloud SDK for PHPは、サーバーサイドの変換を簡単に行える強力なライブラリを提供します。このガイドでは、SDKのセットアップ方法、変換オプションの設定、完全なコード例の実行、そして自動化ワークフロー向けにcURL REST呼び出しで同じタスクを実行する方法を学びます。
PHPでのHTMLからPNGへの変換 - ステップバイステップガイド
- Composer を使用して SDK をインストール: 公式の Composer コマンドを使用してライブラリをプロジェクトに追加します。
composer require aspose-html-cloud
- Aspose Cloud の認証情報を構成する:
Configurationオブジェクトを作成し、AppSidとAppKeyを設定します。
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
- Convert API を初期化する: 構成オブジェクトで
ConvertApiをインスタンス化します。
$convertApi = new ConvertApi($config);
- 変換オプションの設定:
ConvertOptionsを使用して、出力形式、サイズ、品質、背景色を定義します。
$options = new ConvertOptions();
$options->setOutputFormat('png');
$options->setWidth(1024);
$options->setHeight(0); // Preserve aspect ratio
$options->setQuality(90);
$options->setBackgroundColor('#FFFFFF');
- 変換を実行する:
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.html、sample.pngなど)を実際のファイル位置に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
cURL と REST API を使用して HTML を PNG に変換
以下の cURL コマンドは、Aspose.HTML Cloud REST API を使用して同じ HTML から PNG への変換を実現する方法を示しています。
- アクセストークンを取得する(プレースホルダーをクライアント資格情報に置き換えてください。)
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"
- ソース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"
- 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"}'
- 生成された 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 がインストールされていること。
- 有効な
AppSidとAppKeyを持つ 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インスタンスを再利用し、各イテレーションで入力と出力のパスを調整してください。 -
商用プロジェクトに必要なライセンスは何ですか?
本番環境では有料ライセンスが必要です。製品ページで価格を確認でき、一時ライセンスページ から一時評価ライセンスを取得できます。