Chuyển đổi mô hình 3D sang tài liệu PDF giúp dễ dàng chia sẻ và in ấn trên bất kỳ nền tảng nào. Aspose.Email Cloud SDK for PHP cung cấp một thư viện dựa trên đám mây mạnh mẽ, cho phép thực hiện chuyển đổi 3D sang PDF trong PHP chỉ với vài lời gọi API. Trong hướng dẫn này, bạn sẽ thấy cách cấu hình thông tin xác thực, tải lên tệp OBJ, gọi quá trình chuyển đổi, tải xuống PDF kết quả và tinh chỉnh một vài tùy chọn. Khi kết thúc, bạn sẽ có một script PHP có thể tái sử dụng và tích hợp vào bất kỳ ứng dụng web hoặc desktop nào.
Trước Khi Bắt Đầu: Các Yêu Cầu Trước và Cài Đặt
Bạn cần một môi trường phát triển PHP (khuyến nghị PHP 8.0+) và đã cài đặt Composer. Đăng ký tài khoản Aspose Cloud để lấy Client Id và Client Secret.
Cài đặt SDK bằng Composer:
composer require aspose/aspose-email-cloud
Tải xuống gói SDK nếu bạn muốn cài đặt thủ công: URL tải xuống.
Đoạn mã sau hiển thị khối cấu hình mà bạn sẽ tái sử dụng sau này. Thay thế các giá trị placeholder bằng thông tin đăng nhập từ bảng điều khiển Aspose Cloud của bạn.
<?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)
Sau khi đã cài đặt SDK và chuẩn bị các thông tin xác thực, bạn có thể tiến hành các bước chuyển đổi thực tế.
Xây dựng từng bước: Chuyển đổi 3D sang PDF trong PHP
Bước 1: Tải cấu hình và thiết lập thông tin xác thực
Đầu tiên, tạo một đối tượng Configuration và đặt client ID, secret và host của bạn. Đối tượng này sẽ được truyền cho tất cả các thể hiện API.
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
Bước 2: Khởi tạo các thể hiện API
Tạo các thể hiện của StorageApi và ThreeDApi bằng cách sử dụng đối tượng cấu hình.
use Aspose\ThreeD\Api\ThreeDApi;
use Aspose\ThreeD\Api\StorageApi;
$storageApi = new StorageApi(null, $config);
$threeDApi = new ThreeDApi(null, $config);
Bước 3: Tải lên tệp 3D nguồn
Tải tệp OBJ cục bộ của bạn lên lưu trữ Aspose Cloud để dịch vụ chuyển đổi có thể truy cập được.
use Aspose\ThreeD\Model\UploadFileRequest;
$source3DFile = 'sample.obj'; // Input 3D model file
$uploadRequest = new UploadFileRequest($source3DFile, $source3DFile);
$storageApi->uploadFile($uploadRequest);
Bước 4: Chuyển đổi 3D sang PDF
Yêu cầu chuyển đổi từ OBJ sang PDF. Tên tệp đích được định nghĩa bằng $targetPdfFile.
use Aspose\ThreeD\Model\Convert3DRequest;
$targetPdfFile = 'sample.pdf'; // Desired output PDF name
$convertRequest = new Convert3DRequest($source3DFile, $targetPdfFile, 'pdf');
$threeDApi->convert3D($convertRequest);
Bước 5: Tải xuống PDF kết quả
Lấy tệp PDF mới tạo từ lưu trữ đám mây và lưu nó cục bộ.
use Aspose\ThreeD\Model\DownloadFileRequest;
$downloadRequest = new DownloadFileRequest($targetPdfFile);
$response = $storageApi->downloadFile($downloadRequest);
$localPdfPath = __DIR__ . '/output.pdf';
file_put_contents($localPdfPath, $response->getContent());
Bước 6: Dọn dẹp lưu trữ
Tùy chọn, xóa tệp OBJ nguồn và tệp PDF đã tạo khỏi lưu trữ đám mây để giữ tài khoản của bạn gọn gàng.
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($source3DFile));
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($targetPdfFile));
Với các bước này đã hoàn thành, bạn đã thực hiện thành công việc chuyển đổi 3D sang PDF trong PHP.
Ví dụ đầy đủ mã PHP: Chuyển đổi 3D sang PDF trong PHP - Toàn bộ mã
Ví dụ dưới đây minh họa quy trình làm việc hoàn chỉnh trong một tệp duy nhất. Sao chép nó vào dự án PHP và điều chỉnh các placeholder thông tin xác thực.
<?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";
Lưu ý: Ví dụ mã này trình bày chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Chuyển đổi mô hình 3D bằng cURL và REST API
Nếu bạn muốn làm việc trực tiếp với các endpoint REST, các lệnh cURL sau sẽ đạt được kết quả tương tự.
- Xác thực và nhận mã truy cập
Thay thế YOUR_CLIENT_ID và YOUR_CLIENT_SECRET bằng thông tin xác thực của bạn.
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"
Phản hồi chứa một access_token được sử dụng trong các cuộc gọi tiếp theo.
- Tải lên tệp OBJ nguồn
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "sample.obj"
- Thực hiện chuyển đổi
curl -X POST "https://api.aspose.cloud/v3.0/3d/convert/sample.obj?format=pdf&outPath=sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Tải xuống PDF đầu ra
curl -X GET "https://api.aspose.cloud/v3.0/3d/storage/file/sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o "output.pdf"
Để xem danh sách đầy đủ các tham số và cách xử lý lỗi, xem tài liệu API.
Tùy chọn chuyển đổi: Cài đặt và Điều chỉnh
SDK cung cấp một số thuộc tính mà bạn có thể điều chỉnh trước khi gọi convert3D:
- Output Format - Tham số thứ ba của
Convert3DRequestxác định định dạng đích (pdftrong hướng dẫn này). Thay đổi nó thànhpnghoặcjpegđể xuất ảnh. - Host URL - Nếu bạn sử dụng điểm cuối Aspose Cloud khu vực, hãy sửa đổi
$config->setHost('https://api-eu.aspose.cloud');. - Timeouts - Cả
StorageApivàThreeDApiđều chấp nhận cấu hình tùy chọn cho client HTTP, nơi bạn có thể đặt thời gian chờ yêu cầu cho các tệp lớn.
Các tùy chọn này cho phép bạn tùy chỉnh quá trình chuyển đổi theo yêu cầu về hiệu suất và tuân thủ. Để xem danh sách đầy đủ, hãy tham khảo Tham chiếu API.
Kết luận
Bạn đã thành thạo việc chuyển đổi 3D sang PDF trong PHP bằng cách sử dụng Aspose.Email Cloud SDK for PHP. Hướng dẫn đã bao phủ mọi thứ từ thiết lập môi trường đến một script hoàn chỉnh, sẵn sàng cho sản xuất và một giải pháp thay thế bằng cURL. Hãy nhớ rằng SDK là một sản phẩm thương mại; bạn có thể xem chi tiết giá trên trang sản phẩm và nhận giấy phép tạm thời để đánh giá tại trang giấy phép tạm thời. Tích hợp quy trình này vào ứng dụng của bạn để cung cấp khả năng xử lý tài liệu 3D liền mạch cho người dùng.
FAQs
-
Cách dễ nhất để thực hiện chuyển đổi 3D sang PDF trong PHP là gì?
Sử dụng Aspose.Email Cloud SDK for PHP là phương pháp đơn giản nhất. Thư viện này trừu tượng hoá các cuộc gọi REST và cho phép bạn chuyển đổi mô hình 3D sang PDF chỉ với vài dòng mã. -
Tôi có thể chuyển đổi các định dạng 3D khác ngoài OBJ bằng thư viện này không?
Có, SDK hỗ trợ STL, FBX, 3DS và các định dạng 3D phổ biến khác. Chỉ cần thay đổi tên tệp nguồn và SDK sẽ thực hiện việc chuyển đổi sang PDF. -
Làm thế nào để xử lý các tệp 3D lớn khi chuyển đổi?
Tải tệp lên lưu trữ Aspose Cloud trước, sau đó kích hoạt quá trình chuyển đổi. Điều này giúp giảm mức sử dụng bộ nhớ trên máy chủ của bạn. Đối với các tệp rất lớn, hãy cân nhắc chia nhỏ chúng hoặc sử dụng API chuyển đổi bất đồng bộ. -
Có cách nào để tùy chỉnh đầu ra PDF, chẳng hạn như kích thước trang hoặc hướng trang không?
API chuyển đổi cho phép bạn chỉ định các tham số bổ sung trong phần thân yêu cầu. Tham khảo tài liệu API để xem danh sách đầy đủ các tùy chọn được hỗ trợ.