Convertir un modelo 3D en un documento PDF permite compartir e imprimir fácilmente en cualquier plataforma. Aspose.Email Cloud SDK for PHP ofrece una potente biblioteca basada en la nube que maneja la conversión de 3D a PDF en PHP con solo unas pocas llamadas a la API. En este tutorial verá cómo configurar sus credenciales, cargar un archivo OBJ, invocar la conversión, descargar el PDF resultante y ajustar finamente algunas opciones. Al final tendrá un script PHP reutilizable que se puede integrar en cualquier aplicación web o de escritorio.
Antes de comenzar: Requisitos previos e instalación
Necesitas un entorno de desarrollo PHP (se recomienda PHP 8.0+) y Composer instalado. Regístrate en una cuenta de Aspose Cloud para obtener tu Client Id y Client Secret.
Instale el SDK con Composer:
composer require aspose/aspose-email-cloud
Descargue el paquete SDK si prefiere una instalación manual: URL de descarga.
El siguiente fragmento muestra el bloque de configuración que reutilizará más adelante. Reemplace los valores de marcador de posición con las credenciales de su panel de 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)
Con el SDK instalado y las credenciales listas, puedes pasar a los pasos reales de conversión.
Construyéndolo paso a paso: Conversión de 3D a PDF en PHP
Paso 1: Cargar configuración y establecer credenciales
Primero, crea un objeto Configuration y establece tu ID de cliente, secreto y host. Este objeto se pasará a todas las instancias de la API.
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
Paso 2: Inicializar instancias de API
Cree instancias de StorageApi y ThreeDApi usando el objeto de configuración.
use Aspose\ThreeD\Api\ThreeDApi;
use Aspose\ThreeD\Api\StorageApi;
$storageApi = new StorageApi(null, $config);
$threeDApi = new ThreeDApi(null, $config);
Paso 3: Cargar archivo 3D de origen
Cargue su archivo OBJ local en el almacenamiento de Aspose Cloud para que el servicio de conversión pueda acceder a él.
use Aspose\ThreeD\Model\UploadFileRequest;
$source3DFile = 'sample.obj'; // Input 3D model file
$uploadRequest = new UploadFileRequest($source3DFile, $source3DFile);
$storageApi->uploadFile($uploadRequest);
Paso 4: Convertir 3D a PDF
Solicite la conversión de OBJ a PDF. El nombre del archivo de destino se define mediante $targetPdfFile.
use Aspose\ThreeD\Model\Convert3DRequest;
$targetPdfFile = 'sample.pdf'; // Desired output PDF name
$convertRequest = new Convert3DRequest($source3DFile, $targetPdfFile, 'pdf');
$threeDApi->convert3D($convertRequest);
Paso 5: Descargar PDF resultante
Recupere el PDF recién creado del almacenamiento en la nube y guárdelo localmente.
use Aspose\ThreeD\Model\DownloadFileRequest;
$downloadRequest = new DownloadFileRequest($targetPdfFile);
$response = $storageApi->downloadFile($downloadRequest);
$localPdfPath = __DIR__ . '/output.pdf';
file_put_contents($localPdfPath, $response->getContent());
Paso 6: Limpiar el almacenamiento
Opcionalmente elimine el OBJ de origen y el PDF generado del almacenamiento en la nube para mantener su cuenta ordenada.
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($source3DFile));
$storageApi->deleteFile(new \Aspose\ThreeD\Model\DeleteFileRequest($targetPdfFile));
Con estos pasos completados, has realizado con éxito una conversión de 3D a PDF en PHP.
Ejemplo completo de script PHP: Conversión de 3D a PDF en PHP - Script completo
El ejemplo a continuación muestra el flujo de trabajo completo en un solo archivo. Cópialo en un proyecto PHP y ajusta los marcadores de posición de credenciales.
<?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";
Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén instaladas correctamente y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.
Convertir modelos 3D usando cURL y la API REST
Si prefiere trabajar directamente con los endpoints REST, los siguientes comandos cURL logran el mismo resultado.
- Autenticar y obtener el token de acceso
Reemplace YOUR_CLIENT_ID y YOUR_CLIENT_SECRET con sus credenciales.
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"
La respuesta contiene un access_token que se utiliza en llamadas posteriores.
- Cargar el archivo OBJ de origen
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "sample.obj"
- Ejecutar la conversión
curl -X POST "https://api.aspose.cloud/v3.0/3d/convert/sample.obj?format=pdf&outPath=sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Descargar el PDF de salida
curl -X GET "https://api.aspose.cloud/v3.0/3d/storage/file/sample.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o "output.pdf"
Para obtener una lista completa de parámetros y manejo de errores, consulte la referencia de API.
Opciones de conversión: Configuraciones y ajustes
El SDK expone varias propiedades que puedes ajustar antes de llamar a convert3D:
- Formato de salida - El tercer argumento de
Convert3DRequestdefine el formato de destino (pdfen este tutorial). Cambia apngojpegpara obtener una salida de imagen. - URL del host - Si utilizas un punto de enlace regional de Aspose Cloud, modifica
$config->setHost('https://api-eu.aspose.cloud');. - Tiempos de espera - Tanto
StorageApicomoThreeDApiaceptan configuraciones opcionales del cliente HTTP donde puedes establecer tiempos de espera de solicitud para archivos grandes.
Estas opciones le permiten adaptar el proceso de conversión a sus requisitos de rendimiento y cumplimiento. Para obtener una lista completa, consulte la referencia de API.
Conclusión
Ahora has dominado la conversión de 3D a PDF en PHP usando el Aspose.Email Cloud SDK for PHP. La guía cubrió todo, desde la configuración del entorno hasta un script completo listo para producción y una alternativa cURL. Recuerda que el SDK es un producto comercial; puedes revisar los detalles de precios en la página del producto y obtener una licencia temporal para evaluación en la página de licencia temporal. Integra este flujo de trabajo en tus propias aplicaciones para proporcionar un manejo fluido de documentos 3D a tus usuarios.
FAQs
-
¿Cuál es la forma más fácil de realizar la conversión de 3D a PDF en PHP?
Usar el Aspose.Email Cloud SDK for PHP es el método más sencillo. La biblioteca abstrae las llamadas REST y le permite convertir modelos 3D a PDF con solo unas pocas líneas de código. -
¿Puedo convertir otros formatos 3D además de OBJ con esta biblioteca?
Sí, el SDK admite STL, FBX, 3DS y otros formatos 3D comunes. Simplemente cambie el nombre del archivo de origen y el SDK se encargará de la conversión a PDF. -
¿Cómo manejo archivos 3D grandes durante la conversión?
Cargue el archivo en el almacenamiento de Aspose Cloud primero, luego active la conversión. Esto mantiene bajo el uso de memoria en su servidor. Para archivos muy grandes, considere dividirlos o usar la API de conversión asíncrona. -
¿Hay alguna forma de personalizar la salida PDF, como el tamaño de página o la orientación?
La API de conversión le permite especificar parámetros adicionales en el cuerpo de la solicitud. Consulte la referencia de API para obtener la lista completa de opciones compatibles.