JPG 或 JPEG 圖像屬於流行的光柵圖像,因為它們使用複雜的有損壓縮算法,使用戶能夠創建更小的圖形。包括台式機、移動設備和其他手持設備在內的大多數設備都支持 JPG 圖像。現在,如果我們需要共享大量圖像,那麼將 JPG 轉換為 PDF 似乎是一個可行的解決方案。在本文中,我們將討論如何在 Python 中將 JPG 轉換為 PDF 的詳細信息。
我們最近開發了一項免費的 Text to GIF 服務,您可以使用它從簡單的文本創建有趣的動畫。
JPG 到 PDF 轉換 API
本文的範圍僅限於 Python 語言,因此我們將重點介紹 Aspose.PDF Cloud SDK for Python 的使用。它是 Cloud REST API 的包裝器,使您能夠在 Python 應用程序中執行所有 PDF 文件處理功能。它提供了創建、編輯 PDF 文件並將其轉換為各種支持的格式 的功能。您還可以加載各種文件,包括 EPUB、PS、SVG、XPS、JPEG 等,並將它們轉換為 PDF。
現在第一步是安裝 SDK,可通過 PIP 和 GitHub 存儲庫下載。請在終端/命令提示符下執行以下命令,在系統上安裝最新版本的SDK。
pip install asposepdfcloud
安裝後,下一個主要步驟是通過 Aspose.Cloud dashboard 免費訂閱我們的雲服務。此訂閱的目的是僅允許授權人員訪問我們的文件處理服務。如果您有 GitHub 或 Google 帳戶,只需註冊或單擊 創建新帳戶 按鈕。
在 Python 中將 JPG 轉換為 PDF
使用 python 代碼片段進行轉換非常方便。請按照下面定義的步驟來完成此要求。
- 首先,創建 ApiClient 類的實例,同時提供 Client ID 和 Client Secret 作為參數
- 其次,創建一個將 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 命令訪問它。現在第一步是根據您的個人客戶端憑據創建一個 JSON Web 令牌 (JWT)。所以請執行以下命令來生成 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 時遇到任何問題,請隨時通過免費客戶支持論壇 與我們聯繫。
相關文章
我們還建議訪問以下鏈接以了解更多信息