Преобразование 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 и настройте заполнители учётных данных.
<?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 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для вывода изображения. - 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, затем запустите конвертацию. Это снижает использование памяти на вашем сервере. Для очень больших файлов рассмотрите возможность их разбиения или использования асинхронного API конвертации. -
Есть ли способ настроить вывод PDF, например размер страницы или ориентацию?
API конвертации позволяет указать дополнительные параметры в теле запроса. Обратитесь к справке API для полного списка поддерживаемых опций.