تبدیل یک مدل 3D به یک سند PDF امکان بهاشتراکگذاری و چاپ آسان را در هر پلتفرمی فراهم میکند. Aspose.Email Cloud SDK for PHP کتابخانهای قدرتمند مبتنی بر ابر ارائه میدهد که تبدیل 3D به PDF را در PHP با تنها چند فراخوانی API انجام میدهد. در این آموزش خواهید دید که چگونه اعتبارنامههای خود را پیکربندی کنید، یک فایل OBJ بارگذاری کنید، تبدیل را فراخوانی کنید، PDF حاصل را دانلود کنید و چند گزینه را بهدقت تنظیم کنید. در پایان یک اسکریپت PHP قابل استفاده مجدد خواهید داشت که میتواند در هر برنامه وب یا دسکتاپی یکپارچه شود.
قبل از شروع: پیشنیازها و نصب
شما به یک محیط توسعه PHP (PHP 8.0+ توصیه میشود) و Composer نصب شده نیاز دارید. برای دریافت Client Id و Client Secret خود، در یک حساب Aspose Cloud ثبتنام کنید.
SDK را با Composer نصب کنید:
composer require aspose/aspose-email-cloud
اگر نصب دستی را ترجیح میدهید، بسته SDK را دانلود کنید: آدرس دانلود.
قطعه کد زیر بلوک پیکربندی را نشان میدهد که بعداً دوباره استفاده خواهید کرد. مقادیر جایگزین را با اعتبارهای موجود در داشبورد 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 و آماده بودن اعتبارها، میتوانید به مراحل واقعی تبدیل بروید.
گام به گام ساخت: تبدیل 3D به PDF در PHP
مرحله 1: بارگذاری پیکربندی و تنظیم اعتبارها
اول، یک شیء Configuration ایجاد کنید و شناسهٔ مشتری، رمز و میزبان خود را تنظیم کنید. این شیء به تمام نمونههای API منتقل خواهد شد.
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
مرحله ۲: مقداردهی اولیه نمونههای API
با استفاده از شیء پیکربندی، نمونههای StorageApi و ThreeDApi را ایجاد کنید.
use Aspose\ThreeD\Api\ThreeDApi;
use Aspose\ThreeD\Api\StorageApi;
$storageApi = new StorageApi(null, $config);
$threeDApi = new ThreeDApi(null, $config);
مرحله ۳: بارگذاری فایل ۳D منبع
فایل OBJ محلی خود را به ذخیرهسازی Aspose Cloud بارگذاری کنید تا سرویس تبدیل بتواند به آن دسترسی پیدا کند.
use Aspose\ThreeD\Model\UploadFileRequest;
$source3DFile = 'sample.obj'; // Input 3D model file
$uploadRequest = new UploadFileRequest($source3DFile, $source3DFile);
$storageApi->uploadFile($uploadRequest);
مرحله ۴: تبدیل 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));
با تکمیل این مراحل، شما با موفقیت تبدیل 3D به PDF را در PHP انجام دادهاید.
مثال کامل اسکریپت PHP: تبدیل 3D به PDF در PHP - اسکریپت کامل
مثال زیر جریان کاری کامل را در یک فایل نشان میدهد. آن را در یک پروژه 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
اگر ترجیح میدهید مستقیماً با نقاط انتهایی 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 تنظیم کنید:
- قالب خروجی - آرگومان سوم
Convert3DRequestقالب هدف را تعریف میکند (pdfدر این آموزش). آن را بهpngیاjpegبرای خروجی تصویر تغییر دهید. - آدرس میزبان - اگر از نقطه انتهایی منطقهای Aspose Cloud استفاده میکنید،
$config->setHost('https://api-eu.aspose.cloud');را تغییر دهید. - زمانهای انتظار - هر دو
StorageApiوThreeDApiپیکربندیهای اختیاری کلاینت HTTP را میپذیرند که میتوانید در آن زمانسنجی درخواستها برای فایلهای بزرگ را تنظیم کنید.
این گزینهها به شما امکان میدهند فرآیند تبدیل را مطابق با نیازهای عملکرد و انطباق خود تنظیم کنید. برای دریافت فهرست کامل، به مرجع API مراجعه کنید.
نتیجهگیری
شما اکنون تبدیل 3D به PDF در PHP را با استفاده از Aspose.Email Cloud SDK for PHP بهدست آوردهاید. این راهنما همه چیز را از تنظیم محیط تا یک اسکریپت کامل و آماده برای تولید و یک جایگزین cURL پوشش داد. به یاد داشته باشید که SDK یک محصول تجاری است؛ میتوانید جزئیات قیمتگذاری را در صفحه محصول مرور کنید و برای ارزیابی یک مجوز موقت دریافت کنید در صفحه مجوز موقت. این جریان کار را در برنامههای خود ادغام کنید تا پردازش یکپارچه اسناد 3D را برای کاربران خود فراهم کنید.
سؤالات متداول
-
به آسانترین روش برای تبدیل 3D به PDF در PHP چیست؟
استفاده از Aspose.Email Cloud SDK for PHP سادهترین روش است. این کتابخانه فراخوانیهای REST را انتزاع میکند و به شما امکان میدهد مدلهای 3D را به PDF تبدیل کنید تنها با چند خط کد. -
آیا میتوانم فرمتهای سهبعدی دیگری به جز OBJ با این کتابخانه تبدیل کنم؟
بله، SDK از STL, FBX, 3DS و سایر فرمتهای رایج سهبعدی پشتیبانی میکند. کافی است نام فایل منبع را تغییر دهید و SDK تبدیل به PDF را انجام خواهد داد. -
چگونه میتوانم فایلهای بزرگ 3D را در حین تبدیل مدیریت کنم؟
فایل را ابتدا در فضای ذخیرهسازی Aspose Cloud بارگذاری کنید، سپس تبدیل را اجرا کنید. این کار مصرف حافظه سرور شما را کم نگه میدارد. برای فایلهای بسیار بزرگ، تقسیم آنها یا استفاده از API تبدیل ناهمزمان را در نظر بگیرید. -
آیا راهی برای سفارشیسازی خروجی PDF، مانند اندازه صفحه یا جهتگیری وجود دارد؟
API تبدیل به شما امکان میدهد پارامترهای اضافی را در بدنه درخواست مشخص کنید. برای فهرست کامل گزینههای پشتیبانیشده به مرجع API مراجعه کنید.