XLSX를 JPG로 변환하는 것은 Java에서 스프레드시트 데이터를 이미지로 표시하려는 경우 흔히 필요합니다. 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.");
}
}
Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(
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 reference를 참조하십시오.
변환 속도 및 메모리 사용량 개선
- Stream Worksheets - 비동기 모드를 활성화하여 한 번에 하나의 워크시트만 처리합니다; 이렇게 하면 전체 워크북이 메모리에 로드되는 것을 방지할 수 있습니다.
- 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를 반환하며, JPG 파일이 준비될 때까지 해당 ID를 폴링할 수 있습니다.
큰 Excel 워크북을 메모리 부족 없이 변환할 수 있나요?
예. 비동기 변환을 활성화하고 적절한 해상도를 설정하십시오. SDK는 워크시트를 순차적으로 처리하여 메모리 사용량을 낮게 유지합니다.
XLSX를 JPG로 비동기 변환하는 것이 지원되나요?
SDK는 JpgConvertOptions에 async 플래그를 제공합니다. true로 설정하면 API가 작업 ID를 반환하여 나중에 상태를 확인하고 결과를 다운로드할 수 있습니다.
프로덕션에서 변환 기능을 사용하려면 특별한 라이선스가 필요합니까?
유효한 GroupDocs.Conversion Cloud 라이선스가 프로덕션 사용에 필요합니다. 전체 구독을 구매하기 전에 임시 라이선스 페이지에서 임시 라이선스로 시작할 수 있습니다.
