تحويل نموذج ثلاثي الأبعاد إلى مستند PDF يتيح مشاركة وطباعة سهلة عبر أي منصة. يوفر Aspose.Email Cloud SDK for PHP مكتبة سحابية قوية تتعامل مع تحويل 3D إلى PDF في PHP ببضع نداءات API فقط. في هذا البرنامج التعليمي ستتعرف على كيفية تكوين بيانات الاعتماد الخاصة بك، تحميل ملف OBJ، استدعاء التحويل، تنزيل ملف PDF الناتج، وضبط بعض الخيارات بدقة. في النهاية ستحصل على سكريبت PHP قابل لإعادة الاستخدام يمكن دمجه في أي تطبيق ويب أو سطح مكتب.

قبل البدء: المتطلبات المسبقة والتثبيت

أنت بحاجة إلى بيئة تطوير PHP (يفضل PHP 8.0+ ) و Composer مثبت. سجّل للحصول على حساب Aspose Cloud للحصول على Client Id و Client Secret.

قم بتثبيت 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 وحدد معرف العميل (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));

مع إكمال هذه الخطوات، لقد نجحت في إجراء تحويل 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";

ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم التكوين لتتناسب مع بيئتك الفعلية، وتحقق من تثبيت جميع الاعتمادات المطلوبة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.

تحويل نماذج 3D باستخدام cURL وواجهة برمجة التطبيقات REST

إذا كنت تفضل العمل مباشرةً مع نقاط النهاية REST، فإن أوامر cURL التالية تحقق النتيجة نفسها.

  1. المصادقة والحصول على رمز الوصول

استبدل 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 يُستخدم في المكالمات اللاحقة.

  1. تحميل ملف OBJ المصدر
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -T "sample.obj"
  1. تنفيذ التحويل
curl -X POST "https://api.aspose.cloud/v3.0/3d/convert/sample.obj?format=pdf&outPath=sample.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  1. تحميل ملف 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 لإخراج الصورة.
  • عنوان URL للمضيف - إذا كنت تستخدم نقطة نهاية إقليمية لخدمة 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 ببضع أسطر من الشيفرة.

  • هل يمكنني تحويل صيغ 3D أخرى غير OBJ باستخدام هذه المكتبة؟
    نعم، يدعم SDK صيغ STL، FBX، 3DS وغيرها من صيغ 3D الشائعة. ما عليك سوى تغيير اسم ملف المصدر وسيتولى SDK عملية التحويل إلى PDF.

  • كيف يمكنني التعامل مع ملفات 3D الكبيرة أثناء التحويل؟
    قم بتحميل الملف إلى تخزين Aspose Cloud أولاً، ثم ابدأ التحويل. هذا يحافظ على انخفاض استهلاك الذاكرة على الخادم الخاص بك. بالنسبة للملفات الكبيرة جدًا، فكر في تقسيمها أو استخدام واجهة برمجة التطبيقات للتحويل غير المتزامن.

  • هل هناك طريقة لتخصيص مخرجات PDF، مثل حجم الصفحة أو الاتجاه؟
    تسمح لك واجهة برمجة تطبيقات التحويل بتحديد معلمات إضافية في جسم الطلب. راجع مرجع API للحصول على القائمة الكاملة للخيارات المدعومة.

اقرأ المزيد