Java에서 TIFF를 JPG로 변환하는 것은 개발자가 웹에서 고해상도 이미지를 표시하거나 보고서에 삽입해야 할 때 자주 요구되는 작업입니다. Conholdate.Total for Java은 몇 줄의 코드만으로 이 작업을 간소화하는 강력한 SDK를 제공합니다. 이 가이드에서는 완전하고 바로 실행할 수 있는 예제를 확인하고, 다중 페이지 TIFF 파일을 처리하는 방법을 배우며, 품질 및 해상도를 제어하는 옵션을 탐색합니다. 마지막까지 진행하면 자신 있게 Java 애플리케이션에 TIFF를 JPG로 변환하는 기능을 통합할 수 있습니다.

Java에서 TIFF를 JPG로 변환하기 요구 사항

스캔한 문서, 의료 이미지 또는 위성 사진을 처리하는 Java 애플리케이션은 종종 다중 페이지 TIFF 파일을 입력으로 받습니다. 변환 시 세부 정보를 보존하고 고해상도 출력을 지원하며, 후속 처리를 간소화하기 위해 각 페이지마다 별도의 JPG를 생성해야 합니다. 수동 변환 도구는 스크립트화할 수 없고 확장성이 부족하므로, 배치 또는 실시간 시나리오에 자동화 라이브러리가 필수적입니다.

Conholdate.Total for Java가 Java에서 TIFF를 JPG로 변환하는 방법

Conholdate.Total for Java은 TIFF 형식(다중 페이지 이미지 포함)을 이해하는 전용 변환 엔진을 제공하며 고품질 JPG 출력을 생성할 수 있습니다. SDK를 사용하면 출력 품질, DPI 해상도 및 페이지 선택을 설정할 수 있어 이미지 정확도에 대한 정밀한 제어가 가능합니다. 각 기능을 안내하는 문서와 API 참조가 제공됩니다: 공식 문서 및 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 class 를 참조하십시오.

TIFF 파일을 로드하고 페이지 수 가져오기

소스 TIFF에 대한 정보(페이지 수 포함)를 얻으려면 LoadOptions와 getFileInfo를 사용하십시오.

LoadOptions loadOptions = new LoadOptions();
FileInfo fileInfo = conversionHandler.getFileInfo("sample.tif", loadOptions);
TiffFileInfo tiffInfo = (TiffFileInfo) fileInfo;
int pageCount = tiffInfo.getPages().size();

이 단계는 Java에서 TIFF를 JPG로 변환하는 유틸리티에 필수적이며, 페이지별 처리를 가능하게 합니다.

JPG 변환 옵션 구성

Set the desired quality, resolution, and the specific page to convert. These settings are part of the Java에서 고해상도 TIFF를 JPG로 변환 workflow.

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 애플리케이션에 신뢰할 수 있는 이미지 변환 기능을 추가할 수 있습니다.

자주 묻는 질문

다중 페이지 TIFF를 Java에서 개별 JPG 파일로 변환하려면 어떻게 해야 하나요?
ConversionHandler를 사용하여 페이지 수를 가져온 다음, JpgConvertOptions.setPageNumber를 설정하면서 각 페이지를 반복합니다. SDK는 전체 예제와 같이 페이지당 하나의 JPG를 생성합니다.

Java에서 TIFF를 JPG로 변환할 때 염두에 두어야 할 성능 고려 사항은 무엇인가요?
대용량 고해상도 TIFF 파일을 처리하면 메모리를 많이 사용할 수 있습니다. ConversionHandler 인스턴스를 하나만 재사용하고 각 출력 파일을 즉시 기록하면 메모리 사용량을 낮게 유지하는 데 도움이 됩니다. resolution 및 quality 값을 조정하면 처리 시간을 줄일 수 있습니다.

중간 파일 없이 스트림 기반 TIFF를 JPG로 변환하는 방법이 있나요?
예. SDK는 convert 메서드의 오버로드를 통해 InputStream 및 OutputStream을 받아 스트림 입력 및 출력을 지원합니다. 정확한 시그니처는 API reference를 참조하세요.

Conholdate.Total for Java에 대한 더 많은 예제와 지원을 어디서 찾을 수 있나요?
공식 문서에는 자세한 가이드가 포함되어 있으며, 커뮤니티 포럼은 질문을 하고 솔루션을 공유하기에 좋은 장소입니다.

계속 탐색하기