La conversión de XLSX a JPG en Java es una necesidad frecuente cuando deseas mostrar los datos de una hoja de cálculo como imágenes. GroupDocs.Conversion Cloud SDK for Java ofrece una biblioteca simple basada en REST que permite renderizar hojas de cálculo de Excel directamente a archivos JPG. Esta guía te lleva a través de la configuración requerida, muestra un ejemplo de código completo, demuestra el procesamiento asíncrono con cURL y brinda consejos de rendimiento para manejar libros de trabajo grandes.
Pasos para la conversión de XLSX a JPG en Java
- Agregar dependencia Maven: Incluya el SDK en su
pom.xmlpara que la biblioteca esté disponible en tiempo de compilación.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- Inicializar el cliente de conversión: Cree una instancia de
ConversionApicon sus credenciales de cliente.
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));
- Configurar opciones de conversión: Establezca el formato de salida a JPG, elija una resolución y habilite el procesamiento asíncrono si lo desea.
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);
- Ejecutar la conversión: Construya un
ConvertDocumentRequestcon el archivo XLSX de origen y las opciones, luego llame a la 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);
- Descargar el resultado: Consulte el estado del trabajo hasta que se complete, luego descargue cada JPG generado.
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.");
Para obtener más detalles sobre los objetos de solicitud, consulte la referencia de API.
Generar JPG a partir de XLSX en Java - Ejemplo de código completo
Este ejemplo muestra una conversión completa de extremo a extremo que carga un libro de trabajo XLSX, convierte cada hoja de cálculo en un JPG separado y guarda las imágenes localmente.
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.");
}
}
Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de archivo (
input/sample.xlsx,output/) para que coincidan con sus ubicaciones reales, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o comuníquese con el equipo de soporte para obtener ayuda.
Convertir Excel a Imagen usando cURL
Los siguientes comandos cURL ilustran cómo realizar la misma conversión de XLSX a JPG usando la API REST. Reemplace los valores de marcador de posición con sus credenciales y nombres de archivo reales.
- Obtener token de acceso
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"}'
- Cargar el archivo XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- Iniciar conversión asincrónica
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
}
}'
- Verificar el estado del trabajo (reemplazar
JOB_IDcon el valor devuelto en el paso anterior)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Descargar los archivos JPG resultantes
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
Para obtener una lista completa de los parámetros, consulte la documentación oficial de la API.
Installing and Configuring GroupDocs.Conversion Cloud SDK for Java
Agregue el SDK a su proyecto con Maven, luego configure sus credenciales de cliente.
# 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");
Puede descargar los últimos archivos JAR desde la página de descarga.
Opciones de conversión de XLSX a JPG
Varias opciones le permiten afinar las imágenes generadas.
| Opción | Descripción | Ejemplo |
|---|---|---|
| Resolution | DPI de la imagen de salida. Valores más altos mejoran la calidad pero aumentan el tamaño del archivo. | jpgOpts.setResolution(300); |
| Quality | Nivel de compresión de JPEG (0‑100). | jpgOpts.setQuality(90); |
| Page Range | Convertir solo hojas de cálculo específicas. | jpgOpts.setPageRange("1-3"); |
| Async | Ejecutar la conversión en segundo plano y sondear para su finalización. | jpgOpts.setAsync(true); |
Cada propiedad forma parte de JpgConvertOptions en el SDK. Consulte la referencia de API para obtener la lista completa.
Mejora de la velocidad de conversión y el uso de memoria
- Transmitir hojas de cálculo - Procesa una hoja de cálculo a la vez habilitando el modo asíncrono; esto evita que todo el libro se cargue en memoria.
- Ajustar resolución - Utiliza el DPI más bajo aceptable para tu caso de uso; 150‑200 DPI suele ser suficiente para vistas previas web.
- Solicitudes por lotes - Al convertir muchos archivos, envíalos en lotes paralelos limitados por la CPU y la capacidad de red de tu servidor.
- Reutilizar ApiClient - Crea una única instancia de
ConversionApiy reutilízala en múltiples conversiones para evitar la sobrecarga de autenticación repetida.
Aplicar estos consejos puede reducir el tiempo de conversión hasta en un 40 % para archivos Excel grandes.
Conclusión
La conversión de XLSX a JPG en Java se vuelve sencilla con el GroupDocs.Conversion Cloud SDK for Java. Al seguir los pasos anteriores, puedes renderizar cada hoja de cálculo como un JPG de alta‑calidad, aprovechar el procesamiento asíncrono para una mejor escalabilidad y aplicar optimizaciones de rendimiento para libros de trabajo grandes. Recuerda obtener una licencia adecuada para implementaciones en producción; los detalles de precios están disponibles en la página del producto, y puedes comenzar con una licencia temporal para evaluar la biblioteca. Integra esta capacidad en tus aplicaciones para ofrecer vistas previas visuales rápidas de los datos de Excel sin depender de instalaciones de Office del lado del cliente.
Preguntas frecuentes
¿Cómo realizo la conversión de XLSX a JPG en Java usando GroupDocs?
Utilice la clase ConversionApi para cargar un archivo XLSX, establezca JpgConvertOptions (resolución, calidad, async) y llame a convertDocument. El SDK devuelve un ID de trabajo que puede consultar hasta que los archivos JPG estén listos.
¿Puedo convertir libros de Excel grandes sin quedarme sin memoria?
Sí. Habilite la conversión asíncrona y establezca una resolución razonable. El SDK procesa las hojas de cálculo secuencialmente, manteniendo bajo el uso de memoria.
¿Se admite la conversión asíncrona de XLSX a JPG?
El SDK proporciona una bandera async en JpgConvertOptions. Cuando se establece en true, la API devuelve un ID de trabajo, lo que le permite comprobar el estado y descargar los resultados más tarde.
¿Necesito una licencia especial para usar las funciones de conversión en producción?
Se requiere una licencia válida de GroupDocs.Conversion Cloud para uso en producción. Puede comenzar con una licencia temporal desde la página de licencia temporal antes de adquirir una suscripción completa.
