3DモデルをPDFドキュメントに変換すると、あらゆるプラットフォームで簡単に共有および印刷できるようになります。
Aspose.Email Cloud SDK for PHP は、数回の API 呼び出しだけで PHP で 3D から PDF への変換を処理する強力なクラウドベースのライブラリを提供します。
このチュートリアルでは、認証情報の設定方法、OBJ ファイルのアップロード、変換の呼び出し、生成された PDF のダウンロード、そしていくつかのオプションの微調整方法を確認します。最後まで実行すると、任意の Web またはデスクトップアプリケーションに統合できる再利用可能な PHP スクリプトが手に入ります。
作業を始める前に: 前提条件とインストール
PHP開発環境(PHP 8.0以上を推奨)とComposerがインストールされている必要があります。Aspose Cloudアカウントにサインアップして、Client Id と Client Secret を取得してください。
ComposerでSDKをインストールする:
composer require aspose/aspose-email-cloud
手動インストールをご希望の場合は、SDK パッケージをダウンロードしてください: ダウンロード URL。
以下のスニペットは、後で再利用する構成ブロックを示しています。プレースホルダーの値を、Aspose Cloud ダッシュボードの認証情報に置き換えてください。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Aspose\ThreeD\Configuration;
// -----------------------------------------------------------------------------
// Configuration – replace with your actual Aspose Cloud client credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID'); // Client Id
$config->setAppKey('YOUR_CLIENT_SECRET'); // Client Secret
$config->setHost('https://api.aspose.cloud'); // Base URL (default)
SDK がインストールされ、認証情報が準備できたら、実際の変換手順に進むことができます。
ステップバイステップで構築: PHP における 3D から PDF への変換
ステップ 1: 構成の読み込みと資格情報の設定
まず、Configuration オブジェクトを作成し、クライアント ID、シークレット、およびホストを設定します。このオブジェクトはすべての API インスタンスに渡されます。
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
ステップ 2: API インスタンスの初期化
構成オブジェクトを使用して StorageApi と ThreeDApi のインスタンスを作成します。
use Aspose\ThreeD\Api\ThreeDApi;
use Aspose\ThreeD\Api\StorageApi;
$storageApi = new StorageApi(null, $config);
$threeDApi = new ThreeDApi(null, $config);
ステップ 3: ソース 3D ファイルをアップロード
ローカルのOBJファイルをAspose Cloudストレージにアップロードすると、変換サービスがアクセスできるようになります。
use Aspose\ThreeD\Model\UploadFileRequest;
$source3DFile = 'sample.obj'; // Input 3D model file
$uploadRequest = new UploadFileRequest($source3DFile, $source3DFile);
$storageApi->uploadFile($uploadRequest);
ステップ 4: 3D を PDF に変換
OBJ から PDF への変換をリクエストします。対象のファイル名は $targetPdfFile で定義されています。
use Aspose\ThreeD\Model\Convert3DRequest;
$targetPdfFile = 'sample.pdf'; // Desired output PDF name
$convertRequest = new Convert3DRequest($source3DFile, $targetPdfFile, 'pdf');
$threeDApi->convert3D($convertRequest);
ステップ 5: 結果の PDF をダウンロード
クラウドストレージから新しく作成された PDF を取得し、ローカルに保存します。
use Aspose\ThreeD\Model\DownloadFileRequest;
$downloadRequest = new DownloadFileRequest($targetPdfFile);
$response = $storageApi->downloadFile($downloadRequest);
$localPdfPath = __DIR__ . '/output.pdf';
file_put_contents($localPdfPath, $response->getContent());
ステップ 6: ストレージのクリーンアップ
オプションで、ソース OBJ と生成された PDF をクラウドストレージから削除し、アカウントを整理整頓できます。
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($source3DFile));
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($targetPdfFile));
これらの手順が完了したら、PHPで3DからPDFへの変換を正常に実行できました。
完全なPHPスクリプト例:PHPでの3DからPDFへの変換 - 完全スクリプト
以下の例は、単一ファイルでの完全なワークフローを示しています。これを PHP プロジェクトにコピーし、認証情報のプレースホルダーを調整してください。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Aspose\ThreeD\Configuration;
use Aspose\ThreeD\Api\ThreeDApi;
use Aspose\ThreeD\Api\StorageApi;
use Aspose\ThreeD\Model\UploadFileRequest;
use Aspose\ThreeD\Model\Convert3DRequest;
use Aspose\ThreeD\Model\DownloadFileRequest;
// -----------------------------------------------------------------------------
// Configuration – replace with your actual Aspose Cloud client credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID'); // Client Id
$config->setAppKey('YOUR_CLIENT_SECRET'); // Client Secret
$config->setHost('https://api.aspose.cloud'); // Base URL (default)
// -----------------------------------------------------------------------------
// Initialise API instances
// -----------------------------------------------------------------------------
$storageApi = new StorageApi(null, $config);
$threeDApi = new ThreeDApi(null, $config);
// -----------------------------------------------------------------------------
// Define source 3D file and target PDF file (paths are relative to the project)
// -----------------------------------------------------------------------------
$source3DFile = 'sample.obj'; // Input 3D model file
$targetPdfFile = 'sample.pdf'; // Desired output PDF name
// -----------------------------------------------------------------------------
// Upload the 3D file to Aspose Cloud storage
// -----------------------------------------------------------------------------
$uploadRequest = new UploadFileRequest($source3DFile, $source3DFile);
$storageApi->uploadFile($uploadRequest);
// -----------------------------------------------------------------------------
// Perform the conversion: 3D → PDF
// -----------------------------------------------------------------------------
$convertRequest = new Convert3DRequest($source3DFile, $targetPdfFile, 'pdf');
$threeDApi->convert3D($convertRequest);
// -----------------------------------------------------------------------------
// Download the resulting PDF back to local storage
// -----------------------------------------------------------------------------
$downloadRequest = new DownloadFileRequest($targetPdfFile);
$response = $storageApi->downloadFile($downloadRequest);
$localPdfPath = __DIR__ . '/output.pdf';
file_put_contents($localPdfPath, $response->getContent());
// -----------------------------------------------------------------------------
// Clean‑up: optionally delete files from cloud storage
// -----------------------------------------------------------------------------
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($source3DFile));
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($targetPdfFile));
echo "3D to PDF conversion completed. PDF saved to: {$localPdfPath}\n";
Note: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値が実際の環境に合わせて更新されていることを確認し、必要な依存関係がすべて正しくインストールされているか検証し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
cURL と REST API を使用した 3D モデルの変換
REST エンドポイントを直接使用したい場合、以下の cURL コマンドで同じ結果が得られます。
- 認証してアクセストークンを取得する
YOUR_CLIENT_ID と YOUR_CLIENT_SECRET をあなたの資格情報に置き換えてください。
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"
レスポンスには、後続の呼び出しで使用される access_token が含まれています。
- ソースOBJファイルをアップロード
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "sample.obj"
- 変換を実行する
curl -X POST "https://api.aspose.cloud/v3.0/3d/convert/sample.obj?format=pdf&outPath=sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- 出力 PDF をダウンロード
curl -X GET "https://api.aspose.cloud/v3.0/3d/storage/file/sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o "output.pdf"
パラメータとエラー処理の完全なリストについては、API リファレンスをご覧ください。
変換オプション: 設定と調整
SDK は convert3D を呼び出す前に調整できるいくつかのプロパティを公開しています:
- Output Format -
Convert3DRequestの3番目の引数は出力形式を定義します(このチュートリアルではpdf)。画像出力の場合はpngまたはjpegに変更してください。 - Host URL - 地域別の Aspose Cloud エンドポイントを使用する場合は、
$config->setHost('https://api-eu.aspose.cloud');を変更します。 - Timeouts -
StorageApiとThreeDApiの両方はオプションの HTTP クライアント設定を受け付け、 大きなファイルのリクエストタイムアウトを設定できます。
これらのオプションにより、パフォーマンスとコンプライアンス要件に合わせて変換プロセスを調整できます。完全な一覧については、API リファレンス を参照してください。
結論
PHP で Aspose.Email Cloud SDK for PHP を使用した 3D から PDF への変換をマスターしました。このガイドでは、環境設定から完全な本番対応スクリプト、cURL の代替手段まで、すべてをカバーしました。SDK は商用製品であることを忘れないでください。製品ページで価格詳細を確認でき、一時ライセンスページ で評価用の一時ライセンスを取得できます。このワークフローを自分のアプリケーションに統合し、ユーザーにシームレスな 3D ドキュメント処理を提供しましょう。
FAQs
-
PHPで3DをPDFに変換する最も簡単な方法は何ですか?
Aspose.Email Cloud SDK for PHP を使用することが最も簡単な方法です。このライブラリは REST 呼び出しを抽象化し、数行のコードだけで 3D モデルを PDF に変換できます。 -
このライブラリでOBJ以外の他の3D形式に変換できますか?
はい、SDKはSTL、FBX、3DSなどの一般的な3D形式をサポートしています。ソースファイル名を変更するだけで、SDKがPDFへの変換を処理します。 -
大きな3Dファイルを変換中にどのように扱うべきですか?
ファイルをまず Aspose Cloud ストレージにアップロードし、変換をトリガーします。これによりサーバーのメモリ使用量が低く抑えられます。非常に大きなファイルの場合は、分割するか非同期変換 API の使用を検討してください。 -
PDF出力(ページサイズや向きなど)をカスタマイズする方法はありますか?
変換 API では、リクエスト ボディに追加パラメータを指定できます。サポートされているオプションの全リストについては、API リファレンス を参照してください。