將 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 物件,並設定您的 client ID、secret 和 host。此物件將傳遞給所有 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";
注意: 此程式碼範例展示了核心功能。在將其用於您的專案之前,請確保更新所有檔案路徑和設定值以符合實際環境,驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文件或聯繫支援團隊尋求協助。
使用 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定義目標格式(本教學中為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 文件處理功能。
常見問題
-
什麼是執行 3D 轉 PDF 轉換在 PHP 中最簡單的方法?
使用 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 參考 以獲取完整的支援選項清單。