プログラムで JPG 画像を PDF ドキュメントに変換することは、レポート作成やアーカイブ機能を構築する PHP 開発者にとって頻繁に求められる要件です。 Aspose.Words Cloud SDK for PHP を使用すれば、数行のコードだけで PHP で JPG を PDF に変換できます。このガイドでは、ステップバイステップの手順、完全な動作例、そして REST API 用の cURL コマンドをご紹介します。また、最適な結果を得るために DPI と画像品質を微調整する方法も学べます。
Aspose.Words Cloud SDK for PHP の設定
開始する前に、以下が揃っていることを確認してください:
- 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 Download.
今すぐ 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";
}
JPG を PDF に変換する PHP の完全動作サンプル
以下の例は、開始から完了までの完全な実装を示しています。
<?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);
主なポイント
Using the Aspose.Words Cloud SDK for PHP, you can easily convert JPG to PDF in PHP without dealing with low‑level image processing. The SDK handles streaming, DPI, and image quality, allowing you to focus on business logic. Remember to secure your Client Id and Client Secret, and consider the temporary license for evaluation before purchasing a full license. Pricing details are available on the product page, and a temporary license can be obtained from the temporary license page. With the code and cURL examples provided, you’re ready to integrate JPG to PDF conversion into any web or desktop PHP application.
あなたが抱える可能性のある質問
-
JPG を PHP で PDF に変換する最も簡単な方法は何ですか?
完全な例に示されたワンライナーは、ConvertDocumentRequestを使用し、ターゲット形式を"pdf"に設定しています。この単一呼び出しで変換全体が実行されます。 -
単一のリクエストで複数のJPGファイルを変換できますか?
APIはリクエストごとに1つのソースファイルを処理します。バッチ処理を行うには、ファイルリストをループし、各画像に対して変換を呼び出してください。 -
出力PDFのサイズはどうやって制御しますか?
ConvertOptionsのDpiX、DpiY、ImageQualityを調整します。DPI と品質を下げるとファイルサイズが小さくなり、値を上げると視覚的な忠実度が向上します。 -
JPG画像のサイズに変換上限はありますか?
SDKは入力をストリーミングするため、メモリ使用量は低く抑えられます。ただし、非常に大きなファイルはサービスの制限対象になる可能性があります。正確な閾値については、公式ドキュメントをご確認ください。