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

  1. Agregar dependencia Maven: Incluya el SDK en su pom.xml para 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>
  1. Inicializar el cliente de conversión: Cree una instancia de ConversionApi con 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));
  1. 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);
  1. Ejecutar la conversión: Construya un ConvertDocumentRequest con 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);
  1. 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.

  1. 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"}'
  1. 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"
  1. 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
           }
         }'
  1. Verificar el estado del trabajo (reemplazar JOB_ID con 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"
  1. 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ónDescripciónEjemplo
ResolutionDPI de la imagen de salida. Valores más altos mejoran la calidad pero aumentan el tamaño del archivo.jpgOpts.setResolution(300);
QualityNivel de compresión de JPEG (0‑100).jpgOpts.setQuality(90);
Page RangeConvertir solo hojas de cálculo específicas.jpgOpts.setPageRange("1-3");
AsyncEjecutar 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

  1. 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.
  2. 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.
  3. Solicitudes por lotes - Al convertir muchos archivos, envíalos en lotes paralelos limitados por la CPU y la capacidad de red de tu servidor.
  4. Reutilizar ApiClient - Crea una única instancia de ConversionApi y 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.

Read More