3D 모델을 PDF 문서로 변환하면 모든 플랫폼에서 손쉽게 공유하고 인쇄할 수 있습니다. Aspose.Email Cloud SDK for PHP는 몇 번의 API 호출만으로 PHP에서 3D를 PDF로 변환하는 강력한 클라우드 기반 라이브러리를 제공합니다. 이 튜토리얼에서는 자격 증명을 구성하고, OBJ 파일을 업로드하고, 변환을 호출하며, 결과 PDF를 다운로드하고, 몇 가지 옵션을 미세 조정하는 방법을 살펴봅니다. 최종적으로 웹 또는 데스크톱 애플리케이션에 통합할 수 있는 재사용 가능한 PHP 스크립트를 얻게 됩니다.

시작하기 전에: 전제 조건 및 설치

PHP 개발 환경(PHP 8.0+ 권장)과 Composer가 설치되어 있어야 합니다. Aspose Cloud 계정에 가입하여 Client Id와 Client Secret을 얻으세요.

Composer를 사용하여 SDK를 설치합니다:

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를 설치하고 자격 증명이 준비되면 실제 변환 단계로 진행할 수 있습니다.

단계별 구축: PHP에서 3D를 PDF로 변환

1단계: 구성 로드 및 자격 증명 설정

먼저 Configuration 객체를 생성하고 클라이언트 ID, 비밀 키 및 호스트를 설정합니다. 이 객체는 모든 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));

이러한 단계를 완료하면 PHP에서 3D를 PDF로 변환하는 작업을 성공적으로 수행한 것입니다.

전체 PHP 스크립트 예제: PHP에서 3D를 PDF로 변환 - 전체 스크립트

아래 예제는 단일 파일에서 전체 워크플로를 보여줍니다. 이를 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";

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.

cURL 및 REST API를 사용한 3D 모델 변환

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를 호출하기 전에 조정할 수 있는 여러 속성을 제공합니다:

  • Output Format - Convert3DRequest의 세 번째 인자는 대상 형식(pdf가 이 튜토리얼에 사용됨)을 정의합니다. 이미지 출력의 경우 png 또는 jpeg로 변경하십시오.
  • Host URL - 지역 Aspose Cloud 엔드포인트를 사용하는 경우 $config->setHost('https://api-eu.aspose.cloud');를 수정하십시오.
  • Timeouts - StorageApi와 ThreeDApi 모두 선택적 HTTP 클라이언트 구성을 허용하며, 여기에서 대용량 파일에 대한 요청 시간 제한을 설정할 수 있습니다.

이 옵션을 사용하면 성능 및 규정 준수 요구 사항에 맞게 변환 프로세스를 조정할 수 있습니다. 전체 목록은 API 참조를 참조하십시오.

결론

이제 PHP에서 Aspose.Email Cloud SDK for PHP를 사용하여 3D를 PDF로 변환하는 방법을 마스터했습니다. 이 가이드는 환경 설정부터 완전한 프로덕션‑준비 스크립트 및 cURL 대안에 이르기까지 모든 내용을 다루었습니다. 이 SDK는 상용 제품임을 기억하시기 바랍니다; 제품 페이지에서 가격 세부 정보를 검토하고 임시 라이선스 페이지에서 평가용 임시 라이선스를 얻을 수 있습니다. 이 워크플로를 자체 애플리케이션에 통합하여 사용자에게 원활한 3D 문서 처리를 제공하십시오.

자주 묻는 질문

  • PHP에서 3D를 PDF로 변환하는 가장 쉬운 방법은 무엇인가요?
    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 reference를 참조하세요.

Read More