프로그래밍 방식으로 JPG 이미지를 PDF 문서로 변환하는 것은 보고서 작성이나 아카이브 기능을 구축하는 PHP 개발자들에게 흔히 요구되는 작업입니다. Aspose.Words Cloud SDK for PHP를 사용하면 몇 줄의 코드만으로 PHP에서 JPG를 PDF로 변환할 수 있습니다. 이 가이드에서는 단계별 안내, 완전한 작업 예제, 그리고 REST API용 cURL 명령을 확인할 수 있습니다. 또한 최적의 결과를 위해 DPI와 이미지 품질을 미세 조정하는 방법도 배울 수 있습니다.
PHP용 Aspose.Words Cloud SDK 설정
시작하기 전에, 다음이 있는지 확인하십시오:
- PHP 7.4 이상
- Composer 설치됨
- Aspose Cloud 계정(Client Id 및 Client Secret 포함)
https://api.aspose.cloud에 대한 네트워크 액세스
Composer를 통해 SDK를 설치합니다:
composer require aspose-cloud/aspose-words-cloud
공식 릴리스 페이지에서 최신 패키지를 다운로드하십시오: Aspose.Words Cloud SDK for PHP 다운로드.
이제 자격 증명을 사용하여 SDK를 구성하세요:
require __DIR__ . '/vendor/autoload.php';
use Aspose\Words\Configuration;
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
구성이 완료되면 WordsApi 인스턴스를 생성하고 변환을 시작할 수 있습니다.
PHP에서 JPG를 PDF로 변환: 단계별 안내
1단계: 원본 문서 로드
JPG 파일을 스트림으로 열어 큰 이미지도 효율적으로 처리합니다.
$inputJpgPath = __DIR__ . '/sample.jpg'; // source JPG
$jpgStream = fopen($inputJpgPath, 'rb');
2단계: 변환 옵션 구성
원하는 DPI와 이미지 품질을 설정하십시오. 이러한 설정은 출력 PDF의 크기와 선명도에 직접적인 영향을 미치며, PHP에서 JPG를 PDF로 변환할 때 중요합니다.
use Aspose\Words\Model\ConvertOptions;
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300); // horizontal DPI
$convertOptions->setDpiY(300); // vertical DPI
$convertOptions->setImageQuality(80); // 0‑100
3단계: 변환 요청 만들기
입력 스트림, 대상 형식 및 옵션을 사용하여 요청 객체를 준비합니다.
use Aspose\Words\Model\Requests\ConvertDocumentRequest;
$request = new ConvertDocumentRequest(
$jpgStream, // Input file stream
'pdf', // Target format
null, // outPath – null to receive binary response
null, // storage – default
null, // folder – default
$convertOptions // conversion options
);
4단계: 변환 실행 및 PDF 저장
API를 호출하고, 바이너리 PDF 데이터를 받아 파일에 기록합니다.
use Aspose\Words\WordsApi;
$wordsApi = new WordsApi($config);
try {
$pdfBinary = $wordsApi->convertDocument($request);
$outputPdfPath = __DIR__ . '/result.pdf';
$pdfHandle = fopen($outputPdfPath, 'wb');
fwrite($pdfHandle, $pdfBinary);
fclose($pdfHandle);
echo "Conversion successful: {$outputPdfPath}\n";
} catch (Exception $e) {
echo 'Error during conversion: ', $e->getMessage(), "\n";
}
PHP에서 JPG를 PDF로 변환하는 전체 작업 예제
아래 예제는 시작부터 끝까지 전체 구현을 보여줍니다.
<?php
require __DIR__ . '/vendor/autoload.php';
use Aspose\Words\Configuration;
use Aspose\Words\WordsApi;
use Aspose\Words\Model\ConvertOptions;
use Aspose\Words\Model\Requests\ConvertDocumentRequest;
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$config = new Configuration();
$config->setClientId($clientId);
$config->setClientSecret($clientSecret);
$config->setHost('https://api.aspose.cloud');
$wordsApi = new WordsApi($config);
$inputJpgPath = __DIR__ . '/sample.jpg'; // source JPG
$outputPdfPath = __DIR__ . '/result.pdf'; // destination PDF
// Open JPG as a stream to avoid loading whole file into memory for large images
$jpgStream = fopen($inputJpgPath, 'rb');
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300); // horizontal DPI
$convertOptions->setDpiY(300); // vertical DPI
$convertOptions->setImageQuality(80); // optional, 0‑100
$request = new ConvertDocumentRequest(
$jpgStream, // Input file stream
'pdf', // Target format
null, // outPath – null to receive binary response
null, // storage – default
null, // folder – default
$convertOptions // conversion options
);
try {
// API returns binary PDF data
$pdfBinary = $wordsApi->convertDocument($request);
// Write binary data to file efficiently
$pdfHandle = fopen($outputPdfPath, 'wb');
fwrite($pdfHandle, $pdfBinary);
fclose($pdfHandle);
echo "Conversion successful: {$outputPdfPath}\n";
} catch (Exception $e) {
echo 'Error during conversion: ', $e->getMessage(), "\n";
}
// Cleanup
if (is_resource($jpgStream)) {
fclose($jpgStream);
}
참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.
cURL을 사용하여 JPG 이미지를 PDF 문서로 변환하기
직접 REST 호출을 선호한다면, 동일한 변환을 cURL로 수행할 수 있습니다.
- 액세스 토큰 얻기
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- 소스 JPG를 스토리지에 업로드
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/sample.jpg" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--data-binary "@sample.jpg"
- 변환 실행
curl -X GET "https://api.aspose.cloud/v4.0/words/sample.jpg?format=pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
- 결과 PDF 다운로드 (위에서
-o를 사용하지 않은 경우)
curl -X GET "https://api.aspose.cloud/v4.0/words/result.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
이 명령은 PHP 코드를 작성하지 않고도 동일한 워크플로를 보여줍니다. 자세한 내용은 공식 API 문서를 참조하십시오.
최적의 PDF 출력을 위한 변환 설정 미세 조정
SDK는 생성된 PDF의 모양과 크기를 제어하기 위한 여러 옵션을 제공합니다.
- DPI (Dots Per Inch) - 높은 DPI(예: 300)는 인쇄에 적합한 더 선명한 출력을 제공합니다.
setDpiX및setDpiY로 설정합니다. - ImageQuality - JPEG 압축 수준(0‑100)을 제어합니다. 낮은 값은 시각적 품질을 희생하고 파일 크기를 줄입니다.
- Additional options -
ConvertOptions클래스는setPageSize,setPageOrientation,setColorMode도 지원합니다. 전체 목록은 API reference를 참조하세요.
DPI 및 품질 설정 예시 (이미 워크스루에 표시됨):
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300);
$convertOptions->setDpiY(300);
$convertOptions->setImageQuality(80);
핵심 요점
Aspose.Words Cloud SDK for PHP를 사용하면 저수준 이미지 처리 없이도 PHP에서 JPG를 PDF로 쉽게 변환할 수 있습니다. SDK는 스트리밍, DPI 및 이미지 품질을 처리하여 비즈니스 로직에 집중할 수 있게 해줍니다. Client Id와 Client Secret을 안전하게 보관하고, 정식 라이선스를 구매하기 전에 평가용 임시 라이선스를 고려하십시오. 가격 세부 정보는 제품 페이지에서 확인할 수 있으며, 임시 라이선스는 임시 라이선스 페이지에서 얻을 수 있습니다. 제공된 코드와 cURL 예제를 사용하면 웹 또는 데스크톱 PHP 애플리케이션에 JPG를 PDF로 변환하는 기능을 쉽게 통합할 수 있습니다.
여러분이 가질 수 있는 질문
-
JPG를 PHP에서 PDF로 변환하는 가장 간단한 방법은 무엇인가요?
전체 예제에 표시된 한 줄 코드는 대상 형식을"pdf"로 설정한ConvertDocumentRequest를 사용합니다. 이 단일 호출로 전체 변환이 수행됩니다. -
단일 요청에서 여러 JPG 파일을 변환할 수 있나요?
API는 요청당 하나의 소스 파일만 처리합니다. 배치를 처리하려면 파일 목록을 반복하고 각 이미지에 대해 변환을 호출하십시오. -
출력 PDF 크기를 어떻게 제어합니까?
ConvertOptions에서DpiX,DpiY및ImageQuality를 조정합니다. DPI와 품질을 낮추면 파일 크기가 감소하고, 값을 높이면 시각적 충실도가 향상됩니다. -
JPG 이미지를 변환할 때 크기 제한이 있나요?
SDK는 입력을 스트리밍하므로 메모리 사용량이 낮게 유지됩니다. 그러나 매우 큰 파일은 서비스 제한에 영향을 받을 수 있으니 정확한 임계값은 공식 문서를 참조하세요.