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 时遇到任何问题,请随时通过免费客户支持论坛 与我们联系。
相关文章
我们还建议访问以下链接以了解更多信息