HTML ドキュメントを Word 形式に変換することは、レポートや請求書、エンドユーザー向けの動的コンテンツを生成する際に頻繁に求められます。
Aspose.HTML Cloud SDK for PHP は、サーバー側で HTML を DOCX に変換するプロセスを簡素化する強力なライブラリです。
このガイドでは、インストールから HTML の安全な取り扱い、完全な本番環境対応コード例、ベストプラクティスの推奨事項まで、全体のワークフローを順を追って解説します。
PHPでHTMLをDOCXに変換する5つのステップ
- Aspose.HTML Cloud ライブラリをインストール: Composer を使用してパッケージをプロジェクトに追加します。
composer require aspose-html-cloud
- Aspose Cloud の認証情報で認証: クライアント ID とシークレットを使用して
Configurationオブジェクトを作成し、アクセストークンを取得します。
use Aspose\HTML\Configuration;
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
- 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>');
- 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);
- 取得とクリーンアップ: 変換はバイナリストリームを返すので、DOCX ファイルとして保存できます。エラー処理とリソースの解放を忘れずに行ってください。
if ($docxResult) {
echo "Conversion successful. DOCX saved as output.docx";
} else {
echo "Conversion failed.";
}
上記の手順は、PHP における HTML から DOCX への変換をシンプルに示すとともに、セキュリティチェックやパフォーマンス調整を組み込む場所も示しています。
PHPで Aspose.HTML を使用した 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.html、output.docx)を更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメントをご参照いただくか、サポートチームにお問い合わせください。
Generate Word Documents from HTML via REST API using cURL
PHPコードを書かずに、Aspose.HTML Cloud RESTエンドポイントを直接呼び出すことで変換を実行することもできます。
- アクセストークンを取得
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" \
-T sample.html
- 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"}'
- 結果の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 高品質 DOCX 生成の機能
- 正確な CSS レンダリング - ライブラリは外部およびインライン CSS を解析し、生成された DOCX のレイアウト、フォント、カラーを保持します。
- 埋め込みフォントサポート -
@font-faceルールを使用してカスタムフォントを埋め込み、Word ドキュメントがプラットフォーム間で同一に表示されるようにします。 - 安全な入力処理 - 組み込みのサニタイズフックにより、危険なタグや属性を除去でき、変換中の XSS リスクを軽減します。
- パフォーマンス制御 -
maxImageResolutionやdisableExternalResourcesなどのオプションで、速度と忠実度のバランスを細かく調整できます。 - バッチ処理 - 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からアプリケーションを保護するにはどうすればよいですか?
HTMLPurifier のようなライブラリで入力をサニタイズするか、変換 API に送信する前にライブラリが提供する組み込みのサニタイズフックを使用してください。 -
ライブラリは外部画像を含むHTMLの変換をサポートしていますか?
はい。デフォルトでは、外部リソースが取得され埋め込まれます。DOCX のサイズを小さく保ちたい場合は、disableExternalResourcesオプションでこの動作を無効にできます。 -
DOCX 出力の高度な構成オプションはどこで見つけられますか?
すべての変換設定は公式ドキュメントに記載されており、ページサイズ、余白、フォント埋め込みのオプションが含まれます。