JPG 또는 JPEG 이미지는 복잡한 손실 압축 알고리즘을 사용하여 사용자가 더 작은 그래픽을 만들 수 있기 때문에 인기 있는 래스터 이미지 중 하나입니다. 데스크톱, 모바일 및 기타 핸드헬드 장치를 포함한 대부분의 장치는 JPG 이미지를 지원합니다. 이제 대량 이미지를 공유해야 하는 경우 JPG를 PDF로 변환하는 것이 실행 가능한 솔루션인 것 같습니다. 이 기사에서는 Python에서 JPG를 PDF로 변환하는 방법에 대해 자세히 설명합니다.
최근에 간단한 텍스트에서 재미있는 애니메이션을 만드는 데 사용할 수 있는 무료 텍스트를 GIF로 서비스를 개발했습니다.
JPG에서 PDF로 변환 API
이 기사의 범위는 Python 언어에 국한되어 있으므로 Aspose.PDF Cloud SDK for Python의 활용을 강조합니다. Cloud REST API를 둘러싼 래퍼이며 Python 애플리케이션 내에서 모든 PDF 파일 처리 기능을 수행할 수 있습니다. PDF 파일을 다양한 지원되는 형식으로 생성, 편집 및 변환하는 기능을 제공합니다. 또한 EPUB, PS, SVG, XPS, JPEG 등 다양한 파일을 로드하여 PDF로 변환할 수 있습니다.
이제 첫 번째 단계는 PIP 및 GitHub 리포지토리를 통해 다운로드할 수 있는 SDK 설치입니다. 최신 버전의 SDK를 시스템에 설치하려면 터미널/명령 프롬프트에서 다음 명령을 실행하십시오.
pip install asposepdfcloud
설치 후 다음 주요 단계는 Aspose.Cloud 대시보드를 통해 클라우드 서비스에 무료로 가입하는 것입니다. 이 구독의 목적은 승인된 사람만 파일 처리 서비스에 액세스할 수 있도록 하는 것입니다. GitHub 또는 Google 계정이 있는 경우 가입하거나 새 계정 만들기 버튼을 클릭하십시오.
Python에서 JPG를 PDF로 변환
Python 코드 스니펫을 사용한 변환은 매우 편리합니다. 이 요구 사항을 달성하려면 아래에 정의된 단계를 따르십시오.
- 먼저 Client ID와 Client Secret을 인수로 제공하면서 ApiClient 클래스의 인스턴스를 생성합니다.
- 둘째, ApiClient 개체를 입력 인수로 사용하는 PdfApi 클래스의 개체를 만듭니다.
- 셋째, 원본 이미지의 이름과 너비, 높이, 여백 세부 정보와 같은 관련 속성을 정의하는 ImageTemplatesRequest 클래스의 인스턴스를 만듭니다.
- 마지막으로 PdfApi 클래스의 putimageinstoragetopdf(..) 메서드를 호출하여 변환을 수행합니다.
# https://dashboard.aspose.cloud/에서 클라이언트 자격 증명을 얻습니다.
def image2PDF():
try:
#Client credentials
client_secret = "1c9379bb7d701c26cc87e741a29987bb"
client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"
#initialize PdfApi client instance using client credetials
pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)
# PdfApiClient를 인수로 전달하는 동안 PdfApi 인스턴스 생성
pdf_api = PdfApi(pdf_api_client)
#source image file
input_file = 'source.jpg'
#resultant PDF document
resultant_file = 'Resultant.pdf'
image_templates_details = asposepdfcloud.ImageTemplatesRequest
{
"IsOCR": True,
"OCRLangs": "eng",
"ImagesList": [
{
"ImagePath": input_file,
"ImageSrcType": "ImageSrcType.Common",
"LeftMargin": 10,
"RightMargin": 10,
"TopMargin": 10,
"BottomMargin": 10,
"PageWidth": 800,
"PageHeight": 1000,
"MarginInfo": {
"Left": 10,
"Right": 10,
"Top": 10,
"Bottom": 10
}
}
]
}
# API를 호출하여 이미지를 PDF 형식으로 변환
response = pdf_api.put_image_in_storage_to_pdf(name=resultant_file, image_templates= image_templates_details)
# 콘솔에 메시지 출력(선택 사항)
print('Image successfully converted to PDF format !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
한 번의 호출로 둘 이상의 이미지를 변환해야 하는 경우 ImageTemplatesRequest 개체 내에서 더 많은 ImagesList 인스턴스를 지정하십시오.
cURL 명령을 사용하여 JPG에서 PDF로
cURL 명령은 명령줄 터미널을 통해 REST API에 액세스하는 편리한 방법을 제공합니다. Aspose.PDF Cloud는 REST 아키텍처에 따라 개발되었으므로 cURL 명령을 통해서도 액세스할 수 있습니다. 이제 첫 번째 단계는 개별 클라이언트 자격 증명을 기반으로 JWT(JSON Web Token)를 만드는 것입니다. 따라서 다음 명령을 실행하여 JWT 토큰을 생성하십시오.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT 토큰이 생성되면 다음 cURL 명령을 사용하여 JPG를 PDF 형식으로 변환하십시오. 결과 파일은 클라우드 저장소에 업로드됩니다.
curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/Resultant.pdf/create/images" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"IsOCR\": true, \"OCRLangs\": \"eng\", \"ImagesList\": [ { \"ImagePath\": \"source.jpg\", \"ImageSrcType\": \"Common\", \"LeftMargin\": 10, \"RightMargin\": 10, \"TopMargin\": 10, \"BottomMargin\": 10, \"PageWidth\": 800, \"PageHeight\": 1000, \"MarginInfo\": { \"Left\": 10, \"Right\": 10, \"Top\": 10, \"Bottom\": 10 } } ]}"
참고로 원본 JPG 파일과 결과 PDF 문서는 source.jpg와 Image2PDF-Resultant.pdf에 업로드되어 있습니다.
결론
이 기사에서는 Python을 사용하여 JPG를 PDF로 변환하는 단계에 대해 논의했습니다. 동일한 지침에 따라 PNG, BMP 및 GIF 이미지를 PDF로 변환할 수도 있습니다. 또한 cURL 명령을 사용하여 JPG를 PDF로 변환하는 방법에 대해서도 배웠습니다. 그럼에도 불구하고 Cloud SDK는 MIT 라이선스에 따라 개발되었으므로 GitHub를 통해 전체 코드 스니펫을 무료로 다운로드할 수 있습니다.
관련 질문이 있거나 API를 사용하는 동안 문제가 발생하면 무료 고객 지원 포럼을 통해 언제든지 문의하십시오.
관련 기사
또한 다음 링크를 방문하여 자세한 내용을 알아보십시오.