JPG または JPEG 画像は、ユーザーがより小さなグラフィックスを作成できるようにする複雑な非可逆圧縮アルゴリズムを使用するため、一般的なラスター画像の 1 つです。デスクトップ、モバイル、その他のハンドヘルド デバイスを含む大部分のデバイスは、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 に変換することもできます。
最初のステップは、PIP および GitHub リポジトリからダウンロードできる SDK のインストールです。ターミナル/コマンド プロンプトで次のコマンドを実行して、システムに最新バージョンの SDK をインストールしてください。
pip install asposepdfcloud
インストール後の次の主要なステップは、Aspose.Cloud ダッシュボード を介してクラウド サービスへの無料サブスクリプションを行うことです。このサブスクリプションの目的は、許可された人のみが当社のファイル処理サービスにアクセスできるようにすることです。 GitHub または Google アカウントをお持ちの場合は、サインアップするか、Create a new Account ボタンをクリックしてください。
PythonでJPGをPDFに変換
Python コード スニペットを使用した変換は非常に便利です。この要件を達成するには、以下に定義されている手順に従ってください。
- まず、クライアント ID とクライアント シークレットを引数として指定しながら、ApiClient クラスのインスタンスを作成します。
- 次に、ApiClient オブジェクトを入力引数として受け取る PdfApi クラスのオブジェクトを作成します。
- 3 番目に、ソース画像の名前と、幅、高さ、余白の詳細などの関連プロパティを定義する 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)
1 回の呼び出しで複数の画像を変換する必要がある場合は、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 の使用中に問題が発生した場合は、無料のカスタマー サポート フォーラム からお気軽にお問い合わせください。
関連記事
詳細については、次のリンクにアクセスすることをお勧めします。