การแปลงโมเดล 3D ให้เป็นเอกสาร 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 หากคุณต้องการติดตั้งด้วยตนเอง: 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 และเตรียมข้อมูลประจำตัวเรียบร้อยแล้ว คุณสามารถดำเนินการต่อไปยังขั้นตอนการแปลงจริงได้

สร้างขั้นตอนต่อขั้น: การแปลง 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 ของคุณและปรับค่า placeholder ของข้อมูลรับรอง

<?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";

หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ

แปลงโมเดล 3 มิติโดยใช้ cURL และ REST API

หากคุณต้องการทำงานโดยตรงกับ REST endpoint, คำสั่ง 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 reference.

ตัวเลือกการแปลง: การตั้งค่าและการปรับแต่ง

SDK เปิดเผยคุณสมบัติต่าง ๆ ที่คุณสามารถปรับได้ก่อนเรียก convert3D:

  • Output Format - อาร์กิวเมนต์ที่สามของ Convert3DRequest กำหนดรูปแบบเป้าหมาย (pdf ในบทเรียนนี้) เปลี่ยนเป็น png หรือ jpeg เพื่อให้ได้ผลลัพธ์เป็นภาพ
  • Host URL - หากคุณใช้ endpoint ของ Aspose Cloud ในภูมิภาค ให้แก้ไข $config->setHost('https://api-eu.aspose.cloud');
  • Timeouts - ทั้ง StorageApi และ ThreeDApi รองรับการกำหนดค่าตัวคลาย HTTP แบบเลือกได้ ซึ่งคุณสามารถตั้งค่า timeout ของคำขอสำหรับไฟล์ขนาดใหญ่ได้

ตัวเลือกเหล่านี้ช่วยให้คุณปรับกระบวนการแปลงให้สอดคล้องกับความต้องการด้านประสิทธิภาพและการปฏิบัติตามข้อกำหนดของคุณ สำหรับรายการทั้งหมด โปรดดูที่ อ้างอิง API.

สรุป

คุณได้เชี่ยวชาญการแปลง 3D เป็น PDF ใน PHP ด้วย Aspose.Email Cloud SDK for PHP. คู่มือครอบคลุมทุกอย่างตั้งแต่การตั้งค่าสภาพแวดล้อมจนถึงสคริปต์พร้อมใช้งานในระดับผลิตและตัวเลือก cURL. จำไว้ว่า SDK นี้เป็นผลิตภัณฑ์เชิงพาณิชย์; คุณสามารถตรวจสอบรายละเอียดราคาได้บนหน้าผลิตภัณฑ์และรับใบอนุญาตชั่วคราวสำหรับการประเมินที่ หน้าใบอนุญาตชั่วคราว. นำกระบวนการทำงานนี้ไปผสานในแอปพลิเคชันของคุณเพื่อให้ผู้ใช้ได้รับการจัดการเอกสาร 3D อย่างราบรื่น.

FAQs

  • วิธีที่ง่ายที่สุดในการแปลง 3D เป็น PDF ใน PHP คืออะไร?
    การใช้ Aspose.Email Cloud SDK for PHP เป็นวิธีที่ตรงที่สุด ไลบรารีนี้ทำให้การเรียก REST ง่ายขึ้นและให้คุณแปลงโมเดล 3D เป็น PDF ได้ด้วยเพียงไม่กี่บรรทัดของโค้ด

  • ฉันสามารถแปลงรูปแบบ 3D อื่น ๆ นอกจาก OBJ ด้วยไลบรารีนี้ได้หรือไม่?
    ใช่, SDK รองรับ STL, FBX, 3DS และรูปแบบ 3D ที่พบบ่อยอื่น ๆ เพียงเปลี่ยนชื่อไฟล์ต้นฉบับและ SDK จะจัดการการแปลงเป็น PDF.

  • ฉันจะจัดการไฟล์ 3D ขนาดใหญ่ระหว่างการแปลงอย่างไร?
    อัปโหลดไฟล์ไปยัง Aspose Cloud storage ก่อน แล้วจึงเรียกการแปลง การทำเช่นนี้จะทำให้การใช้หน่วยความจำบนเซิร์ฟเวอร์ของคุณต่ำลง สำหรับไฟล์ที่ใหญ่มากให้พิจารณาแยกไฟล์หรือใช้ asynchronous conversion API

  • มีวิธีใดบ้างที่จะปรับแต่งผลลัพธ์ PDF เช่น ขนาดหน้า หรือ การวางแนว?
    API การแปลงอนุญาตให้คุณระบุพารามิเตอร์เพิ่มเติมในส่วนของ request body. โปรดดูที่ API reference สำหรับรายการตัวเลือกที่รองรับทั้งหมด.

อ่านเพิ่มเติม