JavaでTIFFをJPGに変換することは、開発者がウェブ上で高解像度画像を表示したり、レポートに埋め込んだりする必要がある場合に頻繁に求められます。Conholdate.Total for Javaは、数行のコードだけでこのタスクを簡素化する強力なSDKを提供します。このガイドでは、完全な実行可能サンプルを確認し、マルチページTIFFファイルの処理方法を学び、品質と解像度を制御するオプションを紹介します。最後まで読むと、TIFFからJPGへの変換を自信を持って任意のJavaアプリケーションに統合できるようになります。
JavaでTIFFをJPGに変換する要件
Java アプリケーションがスキャンした文書、医療画像、または衛星写真を処理する場合、入力は多くの場合マルチ‑ページ TIFF ファイルとして受け取ります。変換は詳細を保持し、高解像度出力をサポートし、各ページごとに個別の JPG を生成して下流処理を簡素化する必要があります。手動の変換ツールはスクリプト化できず、スケールもしないため、バッチまたはリアル‑タイムシナリオで自動化ライブラリが不可欠です。
Conholdate.Total for Java が Java で TIFF を JPG に変換する方法
Conholdate.Total for Java は、TIFF 形式(マルチページ画像を含む)を理解する専用の変換エンジンを提供し、高品質な JPG 出力を生成できます。SDK では出力品質、DPI 解像度、ページ選択を設定でき、画像の忠実度を正確にコントロールするニーズに対応します。各機能のガイドとして、公式ドキュメント と API リファレンス が利用可能です。シンプルな Maven 依存関係を追加するだけで、ライブラリは任意の Java プロジェクトにシームレスに統合されます。
JavaでTIFFからJPGへの変換を実装する
以下の手順では、プロジェクトの設定、SDK の初期化、および変換の実行方法を説明します。
Conholdate.Total の Maven 依存関係を追加
Conholdate Maven リポジトリと SDK 依存関係を pom.xml に含めてください。これにより、ライブラリがコンパイル時に利用可能になります。
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
最新リリースはダウンロードページからダウンロードできます。
ConversionHandler を初期化する
ConversionHandler のインスタンスを作成します。SDK は、アプリケーションの別の場所で有効なライセンスが設定されていることを前提としています。
ConversionHandler conversionHandler = new ConversionHandler();
追加の初期化オプションについては、ConversionHandler クラス を参照してください。
TIFF ファイルを読み込み、ページ数を取得する
LoadOptions と getFileInfo を使用して、ページ数を含むソース TIFF の情報を取得します。
LoadOptions loadOptions = new LoadOptions();
FileInfo fileInfo = conversionHandler.getFileInfo("sample.tif", loadOptions);
TiffFileInfo tiffInfo = (TiffFileInfo) fileInfo;
int pageCount = tiffInfo.getPages().size();
この手順は、Java の TIFF から JPG への変換ユーティリティ にとって不可欠であり、ページ単位の処理を可能にします。
JPG 変換オプションの設定
変換する品質、解像度、および変換する特定のページを設定します。これらの設定は Java における高解像度 TIFF から JPG への変換 ワークフローの一部です。
JpgConvertOptions jpgOptions = new JpgConvertOptions();
jpgOptions.setQuality(90); // 0‑100
jpgOptions.setResolution(300); // DPI
jpgOptions.setPageNumber(i + 1); // 1‑based page index
変換ループを実行し、出力を検証する
各ページを反復処理し、変換を実行し、生成された JPG ファイルが存在することを確認します。
for (int i = 0; i < pageCount; i++) {
jpgOptions.setPageNumber(i + 1);
String outputPath = Paths.get("output", "page_" + (i + 1) + ".jpg").toString();
conversionHandler.convert("sample.tif", loadOptions, jpgOptions, outputPath);
File resultFile = new File(outputPath);
if (resultFile.exists() && resultFile.length() > 0) {
System.out.println("Successfully converted page " + (i + 1));
} else {
System.err.println("Conversion failed for page " + (i + 1));
}
}
これは、最小限のコードで Java におけるバッチ TIFF から JPG への変換 を実演します。
完全なコード例: 高解像度出力でTIFFをJPGに変換
以下のコードは、上記で説明した完全な実装を示しています。
import com.groupdocs.conversion.ConversionHandler;
import com.groupdocs.conversion.filetypes.FileInfo;
import com.groupdocs.conversion.filetypes.tiff.TiffFileInfo;
import com.groupdocs.conversion.options.load.LoadOptions;
import com.groupdocs.conversion.options.convert.JpgConvertOptions;
import java.io.File;
import java.nio.file.Paths;
public class TiffToJpgConverter {
public static void main(String[] args) {
// Input TIFF file (can be multi‑page)
String inputPath = "sample.tif";
// Directory where JPG files will be written
String outputDir = "output";
// Desired output quality and resolution
int outputQuality = 90; // 0‑100
int outputResolution = 300; // DPI
// Ensure the output directory exists
File outFolder = new File(outputDir);
if (!outFolder.exists()) {
outFolder.mkdirs();
}
try {
// Initialise the conversion handler (license is assumed to be set elsewhere)
ConversionHandler conversionHandler = new ConversionHandler();
// Load options – can be left empty for default behaviour
LoadOptions loadOptions = new LoadOptions();
// Retrieve file information to know how many pages the TIFF contains
FileInfo fileInfo = conversionHandler.getFileInfo(inputPath, loadOptions);
if (!(fileInfo instanceof TiffFileInfo)) {
System.err.println("The provided file is not a TIFF image.");
return;
}
TiffFileInfo tiffInfo = (TiffFileInfo) fileInfo;
int pageCount = tiffInfo.getPages().size();
// Convert each page of the TIFF to a separate JPG
for (int i = 0; i < pageCount; i++) {
JpgConvertOptions jpgOptions = new JpgConvertOptions();
jpgOptions.setQuality(outputQuality);
jpgOptions.setResolution(outputResolution);
jpgOptions.setPageNumber(i + 1); // pages are 1‑based
String outputPath = Paths.get(outputDir, "page_" + (i + 1) + ".jpg").toString();
// Perform the conversion
conversionHandler.convert(inputPath, loadOptions, jpgOptions, outputPath);
// Simple validation of the result
File resultFile = new File(outputPath);
if (resultFile.exists() && resultFile.length() > 0) {
System.out.println("Successfully converted page " + (i + 1) + " to " + outputPath);
} else {
System.err.println("Conversion failed for page " + (i + 1));
}
}
} catch (Exception ex) {
System.err.println("Error during TIFF to JPG conversion: " + ex.getMessage());
ex.printStackTrace();
}
}
}
注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや設定値を実際の環境に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
高解像度出力設定の微調整
生成されたJPGファイルの品質とサイズを制御できるいくつかのオプションがあります。
- Quality - JPEG の圧縮レベル (0‑100) を決定します。値が大きいほど詳細が保持されます。
jpgOptions.setQuality(90); - Resolution - 出力画像の DPI を設定します。300 DPI は印刷用グラフィックの標準です。
jpgOptions.setResolution(300); - PageNumber - マルチページ TIFF のどのページを変換するかを指定します。ループ内でこの値を変更するとバッチ処理が可能になります。
jpgOptions.setPageNumber(i + 1);
APIリファレンスで、setColorMode や setCompressionLevel などの追加プロパティを調べて、より高度なシナリオに活用できます。
要点
JavaでTIFFをJPGに変換することは、Conholdate.Total for Java を使用すれば簡単になります。SDKはマルチページTIFFを処理し、品質と解像度を細かく調整でき、Mavenベースのプロジェクトにすっきりと統合できます。製品を本番環境で使用する際は適切なライセンスを取得することを忘れないでください。価格情報は価格ページ に、臨時ライセンスは臨時ライセンスページ から入手できます。提供されたコードと設定のヒントを使えば、あらゆるJavaアプリケーションに信頼性の高い画像変換機能を追加できます。
よくある質問
JavaでマルチページTIFFを個別のJPGファイルに変換するにはどうすればよいですか?ConversionHandler を使用してページ数を取得し、JpgConvertOptions.setPageNumber を設定しながら各ページをループします。SDK はページごとに 1 つの JPG を生成します。完全な例に示すように。
JavaでTIFFからJPGへの変換時に考慮すべきパフォーマンス上のポイントは何ですか?
大きくて高解像度のTIFFを処理するとメモリを大量に消費する可能性があります。ConversionHandler インスタンスを1つだけ再利用し、各出力ファイルをすぐに書き込むことでメモリ使用量を抑えることができます。また、resolution と quality の値を調整することで処理時間を短縮できる場合があります。
ストリームベースの TIFF から JPG への変換を、中間ファイルなしで実行する方法はありますか?
はい。SDK は convert メソッドのオーバーロードで InputStream と OutputStream を受け取るストリーム入力と出力をサポートしています。正確なシグネチャについては、API reference を参照してください。
Conholdate.Total for Java の追加サンプルやサポートはどこで見つけられますか?
公式のドキュメントには詳細なガイドが含まれており、コミュニティフォーラムは質問やソリューションを共有するのに最適な場所です。
