Konversi XLSX ke JPG dalam Java adalah kebutuhan umum ketika Anda ingin menampilkan data spreadsheet sebagai gambar. GroupDocs.Conversion Cloud SDK for Java menawarkan pustaka berbasis REST yang sederhana yang memungkinkan Anda merender lembar kerja Excel langsung ke file JPG. Panduan ini memandu Anda melalui pengaturan yang diperlukan, menampilkan contoh kode lengkap, mendemonstrasikan pemrosesan async dengan cURL, dan memberikan tips kinerja untuk menangani workbook besar.
Langkah-langkah Konversi XLSX ke JPG dalam Java
- Tambahkan Dependensi Maven: Sertakan SDK dalam
pom.xmlAnda sehingga perpustakaan tersedia pada waktu kompilasi.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- Inisialisasi Klien Konversi: Buat sebuah instance dari
ConversionApidengan kredensial klien Anda.
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));
- Konfigurasikan Opsi Konversi: Atur format output menjadi JPG, pilih resolusi, dan aktifkan pemrosesan async jika diinginkan.
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);
- Jalankan Konversi: Buat
ConvertDocumentRequestdengan file XLSX sumber dan opsi, lalu panggil 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);
- Unduh Hasil: Lakukan polling status pekerjaan hingga selesai, kemudian unduh setiap JPG yang dihasilkan.
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.");
Untuk detail lebih lanjut tentang objek permintaan, lihat referensi API.
Menghasilkan JPG dari XLSX di Java - Contoh Kode Lengkap
Contoh ini menunjukkan konversi end‑to‑end lengkap yang memuat workbook XLSX, mengonversi setiap lembar kerja menjadi JPG terpisah, dan menyimpan gambar secara lokal.
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.");
}
}
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (
input/sample.xlsx,output/) agar sesuai dengan lokasi sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Mengonversi Excel ke Gambar Menggunakan cURL
Perintah cURL berikut menggambarkan cara melakukan konversi XLSX ke JPG yang sama menggunakan REST API. Ganti nilai placeholder dengan kredensial dan nama file Anda yang sebenarnya.
- Dapatkan Token Akses
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"}'
- Unggah File XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- Mulai Konversi Asinkron
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
}
}'
- Periksa Status Pekerjaan (ganti
JOB_IDdengan nilai yang dikembalikan dari langkah sebelumnya)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Unduh File JPG yang Dihasilkan
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
Untuk daftar lengkap parameter, lihat dokumentasi API resmi.
Menginstal dan Mengonfigurasi GroupDocs.Conversion Cloud SDK untuk Java
Tambahkan SDK ke proyek Anda dengan Maven, lalu konfigurasikan kredensial klien Anda.
# 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");
Anda dapat mengunduh file JAR terbaru dari halaman unduhan.
Opsi Konversi untuk XLSX ke JPG
Beberapa opsi memungkinkan Anda menyesuaikan gambar yang dihasilkan.
| Opsi | Deskripsi | Contoh |
|---|---|---|
| Resolution | DPI gambar output. Nilai yang lebih tinggi meningkatkan kualitas tetapi meningkatkan ukuran file. | jpgOpts.setResolution(300); |
| Quality | Level kompresi JPEG (0‑100). | jpgOpts.setQuality(90); |
| Page Range | Hanya konversi lembar kerja tertentu. | jpgOpts.setPageRange("1-3"); |
| Async | Jalankan konversi di latar belakang dan periksa penyelesaian. | jpgOpts.setAsync(true); |
Setiap properti merupakan bagian dari JpgConvertOptions dalam SDK. Lihat referensi API untuk daftar lengkap.
Improving Conversion Speed and Memory Usage
- Stream Worksheets - Proses satu lembar kerja pada satu waktu dengan mengaktifkan mode async; ini mencegah seluruh buku kerja dimuat ke memori.
- Adjust Resolution - Gunakan DPI terendah yang dapat diterima untuk kasus penggunaan Anda; 150‑200 DPI biasanya cukup untuk pratinjau web.
- Batch Requests - Saat mengonversi banyak file, kirimkan mereka dalam batch paralel yang dibatasi oleh CPU dan kapasitas jaringan server Anda.
- Reuse ApiClient - Buat satu instance
ConversionApidan gunakan kembali pada beberapa konversi untuk menghindari beban otentikasi berulang.
Menerapkan tip ini dapat mengurangi waktu konversi hingga 40 % untuk file Excel besar.
Kesimpulan
Konversi XLSX ke JPG dalam Java menjadi sederhana dengan GroupDocs.Conversion Cloud SDK for Java. Dengan mengikuti langkah‑langkah di atas, Anda dapat merender setiap lembar kerja sebagai JPG berkualitas tinggi, memanfaatkan pemrosesan async untuk skalabilitas yang lebih baik, dan menerapkan optimasi kinerja untuk workbook besar. Ingatlah untuk memperoleh lisensi yang tepat untuk penerapan produksi; detail harga tersedia di halaman produk, dan Anda dapat memulai dengan lisensi sementara untuk mengevaluasi perpustakaan. Integrasikan kemampuan ini ke dalam aplikasi Anda untuk menyediakan pratinjau visual cepat data Excel tanpa bergantung pada instalasi Office di sisi klien.
FAQ
Bagaimana cara melakukan konversi XLSX ke JPG di Java menggunakan GroupDocs?
Gunakan kelas ConversionApi untuk mengunggah file XLSX, atur JpgConvertOptions (resolusi, kualitas, async), dan panggil convertDocument. SDK mengembalikan ID pekerjaan yang dapat Anda periksa hingga file JPG siap.
Apakah saya dapat mengonversi workbook Excel yang besar tanpa kehabisan memori?
Ya. Aktifkan konversi async dan tetapkan resolusi yang wajar. SDK memproses lembar kerja secara berurutan, menjaga penggunaan memori tetap rendah.
Apakah konversi asynchronous didukung untuk XLSX ke JPG?
SDK menyediakan flag async dalam JpgConvertOptions. Ketika diatur ke true, API mengembalikan ID pekerjaan, memungkinkan Anda memeriksa status dan mengunduh hasil nanti.
Apakah saya memerlukan lisensi khusus untuk menggunakan fitur konversi dalam produksi?
Lisensi GroupDocs.Conversion Cloud yang valid diperlukan untuk penggunaan produksi. Anda dapat memulai dengan lisensi sementara dari halaman lisensi sementara sebelum membeli langganan penuh.
