Преобразование 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 дают тот же результат.

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

  • Есть ли способ настроить вывод PDF, например размер страницы или ориентацию?
    API конвертации позволяет указать дополнительные параметры в теле запроса. Обратитесь к справке API для полного списка поддерживаемых опций.

Читать дальше