XLSX から JPG への変換は、スプレッドシート データを画像として表示したいときに一般的なニーズです。GroupDocs.Conversion Cloud SDK for Java は、Excel ワークシートを直接 JPG ファイルにレンダリングできるシンプルな REST ベースのライブラリを提供します。このガイドでは、必要なセットアップ手順を説明し、完全なコード例を示し、cURL を使用した非同期処理をデモし、大規模なブックブックを扱うためのパフォーマンスヒントを提供します。
JavaでXLSXをJPGに変換する手順
- Maven依存関係の追加: SDKを
pom.xmlに含め、ライブラリがコンパイル時に利用できるようにします。
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- Conversion クライアントの初期化: クライアント認証情報を使用して
ConversionApiのインスタンスを作成します。
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(new ApiClient(config));
- 変換オプションを構成する: 出力形式をJPGに設定し、解像度を選択し、必要に応じて非同期処理を有効にします。
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;
JpgConvertOptions jpgOptions = new JpgConvertOptions();
jpgOptions.setResolution(300); // 300 DPI for high quality
jpgOptions.setQuality(90); // JPEG quality 0‑100
jpgOptions.setAsync(true); // Enable async conversion
ConvertOptions options = new ConvertOptions();
options.setOutputFormat("JPG");
options.setJpgOptions(jpgOptions);
- 変換の実行: ソースの XLSX ファイルとオプションを使用して
ConvertDocumentRequestを作成し、API を呼び出します。
import java.io.File;
File sourceFile = new File("sample.xlsx");
ConvertDocumentRequest request = new ConvertDocumentRequest(sourceFile, options);
String jobId = conversionApi.convertDocument(request);
System.out.println("Conversion started, job ID: " + jobId);
- 結果のダウンロード: ジョブのステータスが完了になるまでポーリングし、完了したら生成された各JPGをダウンロードします。
import com.groupdocs.conversion.cloud.model.JobStatus;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;
while (true) {
JobStatusResponse statusResponse = conversionApi.getJobStatus(jobId);
JobStatus status = statusResponse.getStatus();
if (status == JobStatus.COMPLETED) break;
Thread.sleep(2000); // wait 2 seconds before next poll
}
conversionApi.downloadResult(jobId, new File("output/"));
System.out.println("JPG files saved to output folder.");
リクエスト オブジェクトの詳細については、API リファレンスをご覧ください。
JavaでXLSXからJPGを生成 - 完全なコード例
この例では、XLSXワークブックを読み込み、各ワークシートを個別のJPGに変換し、画像をローカルに保存するフルエンドツーエンド変換を実演します。
package com.example.conversion;
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;
import com.groupdocs.conversion.cloud.model.JobStatus;
import java.io.File;
public class XlsxToJpgDemo {
public static void main(String[] args) throws Exception {
// 1. Configure client
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
ConversionApi api = new ConversionApi(new ApiClient(config));
// 2. Prepare conversion options
JpgConvertOptions jpgOpts = new JpgConvertOptions();
jpgOpts.setResolution(300);
jpgOpts.setQuality(90);
jpgOpts.setAsync(true); // async conversion
ConvertOptions convOpts = new ConvertOptions();
convOpts.setOutputFormat("JPG");
convOpts.setJpgOptions(jpgOpts);
// 3. Create request
File source = new File("input/sample.xlsx");
ConvertDocumentRequest request = new ConvertDocumentRequest(source, convOpts);
// 4. Start conversion
String jobId = api.convertDocument(request);
System.out.println("Job started, ID: " + jobId);
// 5. Wait for completion
while (true) {
JobStatusResponse statusResp = api.getJobStatus(jobId);
if (statusResp.getStatus() == JobStatus.COMPLETED) break;
Thread.sleep(2000);
}
// 6. Download JPG files
api.downloadResult(jobId, new File("output/"));
System.out.println("Conversion finished. JPG files are in the output folder.");
}
}
注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
input/sample.xlsx、output/)を実際の場所に合わせて更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント または サポートチーム にお問い合わせください。
cURL を使用した Excel の画像変換
以下の cURL コマンドは、REST API を使用して同じ XLSX から JPG への変換を実行する方法を示しています。プレースホルダーの値を実際の資格情報とファイル名に置き換えてください。
- アクセストークンを取得
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
- XLSX ファイルをアップロード
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- 非同期変換の開始
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceFilePath": "sample.xlsx",
"outputFormat": "JPG",
"options": {
"resolution": 300,
"quality": 90,
"async": true
}
}'
- ジョブステータスの確認 (前のステップで返された値で
JOB_IDを置き換えてください)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- 結果のJPGファイルをダウンロード
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
パラメータの完全なリストについては、公式 API ドキュメントをご覧ください。
GroupDocs.Conversion Cloud SDK for Java のインストールと構成
Maven を使用してプロジェクトに SDK を追加し、クライアント資格情報を構成します。
# Add the dependency (already shown in the Steps section)
mvn install com.groupdocs:groupdocs-conversion-cloud
// Example configuration (same as in the Steps section)
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
最新の JAR ファイルは、ダウンロードページ からダウンロードできます。
XLSX から JPG への変換オプション
生成された画像を微調整できるオプションがいくつかあります。
| オプション | 説明 | 例 |
|---|---|---|
| Resolution | 출력 이미지의 DPI입니다. 값이 높을수록 품질이 향상되지만 파일 크기가 증가합니다. | jpgOpts.setResolution(300); |
| Quality | JPEG 압축 수준 (0‑100). | jpgOpts.setQuality(90); |
| Page Range | 특정 워크시트만 변환합니다. | jpgOpts.setPageRange("1-3"); |
| Async | 백그라운드에서 변환을 실행하고 완료 여부를 폴링합니다. | jpgOpts.setAsync(true); |
各プロパティは SDK の JpgConvertOptions の一部です。完全な一覧については、API リファレンス を参照してください。
変換速度とメモリ使用量の改善
- Stream Worksheets - 非同期モードを有効にして、ワークシートを1つずつ処理します。これにより、ブック全体がメモリにロードされるのを防ぎます。
- Adjust Resolution - 使用ケースに適した最低限の DPI を使用します。150‑200 DPI であれば、ウェブプレビューには十分なことが多いです。
- Batch Requests - 多数のファイルを変換する場合、サーバーの CPU とネットワーク容量に合わせて、並列バッチで送信します。
- Reuse ApiClient - 単一の
ConversionApiインスタンスを作成し、複数の変換で再利用して、認証のオーバーヘッドを繰り返すことを防ぎます。
これらのヒントを適用すると、大きな Excel ファイルの変換時間を最大 40 % 短縮できます。
結論
JavaでのXLSXからJPGへの変換は、GroupDocs.Conversion Cloud SDK for Java を使用すると簡単になります。上記の手順に従うことで、各ワークシートを高品質なJPGとしてレンダリングし、非同期処理を活用してスケーラビリティを向上させ、大規模なブックブックに対するパフォーマンス最適化を適用できます。本番環境での展開には適切なライセンスを取得することを忘れないでください。価格情報は製品ページに掲載されており、ライブラリを評価するために一時ライセンスで開始することができます。この機能をアプリケーションに統合し、クライアント側のOfficeインストールに依存せずにExcelデータの高速なビジュアルプレビューを提供しましょう。
よくある質問
JavaでGroupDocsを使用してXLSXをJPGに変換する方法は?ConversionApi クラスを使用してXLSXファイルをアップロードし、JpgConvertOptions(解像度、品質、非同期)を設定して convertDocument を呼び出します。SDKはジョブIDを返し、そのジョブIDをポーリングしてJPGファイルが準備完了になるまで待ちます。
大きなExcelブックをメモリ不足になることなく変換できますか?
はい。非同期変換を有効にし、適切な解像度を設定してください。SDKはワークシートを順次処理し、メモリ使用量を低く抑えます。
XLSX から JPG への非同期変換はサポートされていますか?
SDK は JpgConvertOptions に async フラグを提供します。true に設定すると、API はジョブ ID を返し、後でステータスを確認し結果をダウンロードできます。
本番環境で変換機能を使用するために特別なライセンスが必要ですか?
本番環境で使用するには有効な GroupDocs.Conversion Cloud ライセンスが必要です。完全なサブスクリプションを購入する前に、一時ライセンスページ から開始できます。
