La conversion de XLSX en JPG avec Java est un besoin fréquent lorsque vous souhaitez afficher les données d’une feuille de calcul sous forme d’images. Le GroupDocs.Conversion Cloud SDK for Java propose une bibliothèque simple basée sur REST qui vous permet de rendre les feuilles de calcul Excel directement en fichiers JPG. Ce guide vous accompagne à travers la configuration requise, montre un exemple de code complet, illustre le traitement asynchrone avec cURL et fournit des conseils de performance pour gérer de grands classeurs.
Étapes pour la conversion XLSX en JPG en Java
- Ajouter la dépendance Maven : Incluez le SDK dans votre
pom.xmlafin que la bibliothèque soit disponible lors de la compilation.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- Initialiser le client de conversion : Créez une instance de
ConversionApiavec vos identifiants client.
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));
- Configurer les options de conversion : définissez le format de sortie sur JPG, choisissez une résolution et activez le traitement asynchrone si vous le souhaitez.
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);
- Exécuter la conversion : Créez un
ConvertDocumentRequestavec le fichier XLSX source et les options, puis appelez l’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);
- Télécharger le résultat : interrogez l’état du travail jusqu’à ce qu’il soit terminé, puis téléchargez chaque JPG généré.
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.");
Pour plus de détails sur les objets de requête, consultez la référence API.
Générer JPG à partir de XLSX en Java - Exemple complet de code
Cet exemple montre une conversion complète de bout en bout qui charge un classeur XLSX, convertit chaque feuille de calcul en un JPG distinct et enregistre les images localement.
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.");
}
}
Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez-vous de mettre à jour les chemins de fichiers (
input/sample.xlsx,output/) pour qu’ils correspondent à vos emplacements réels, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Convertir Excel en image avec cURL
Les commandes cURL suivantes illustrent comment effectuer la même conversion XLSX en JPG en utilisant l’API REST. Remplacez les valeurs fictives par vos informations d’identification réelles et les noms de fichiers.
- Obtenir le jeton d’accès
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"}'
- Téléverser le fichier XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- Démarrer la conversion asynchrone
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
}
}'
- Vérifier l’état du travail (remplacez
JOB_IDpar la valeur renvoyée à l’étape précédente)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Télécharger les fichiers JPG résultants
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
Pour une liste complète des paramètres, consultez la documentation officielle de l’API.
Installation et configuration de GroupDocs.Conversion Cloud SDK for Java
Ajoutez le SDK à votre projet avec Maven, puis configurez vos identifiants client.
# 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");
Vous pouvez télécharger les derniers fichiers JAR depuis la page de téléchargement.
Options de conversion pour XLSX en JPG
Plusieurs options vous permettent d’ajuster finement les images générées.
| Option | Description | Exemple |
|---|---|---|
| Resolution | Résolution en points par pouce (DPI) de l’image de sortie. Des valeurs plus élevées améliorent la qualité mais augmentent la taille du fichier. | jpgOpts.setResolution(300); |
| Quality | Niveau de compression JPEG (0‑100). | jpgOpts.setQuality(90); |
| Page Range | Convertir uniquement les feuilles de calcul spécifiques. | jpgOpts.setPageRange("1-3"); |
| Async | Exécuter la conversion en arrière-plan et interroger pour savoir quand elle est terminée. | jpgOpts.setAsync(true); |
Chaque propriété fait partie de JpgConvertOptions dans le SDK. Consultez la référence API pour la liste complète.
Amélioration de la vitesse de conversion et de l’utilisation de la mémoire
- Flux de feuilles de calcul - Traitez une feuille de calcul à la fois en activant le mode asynchrone ; cela empêche le classeur complet de se charger en mémoire.
- Ajuster la résolution - Utilisez le DPI le plus bas acceptable pour votre cas d’utilisation ; 150‑200 DPI sont souvent suffisants pour les aperçus Web.
- Requêtes par lots - Lors de la conversion de nombreux fichiers, envoyez‑les en lots parallèles limités par le CPU et la capacité réseau de votre serveur.
- Réutiliser ApiClient - Créez une instance unique de
ConversionApiet réutilisez‑la pour plusieurs conversions afin d’éviter la surcharge d’authentification répétée.
Appliquer ces astuces peut réduire le temps de conversion jusqu’à 40 % pour les gros fichiers Excel.
Conclusion
La conversion de XLSX en JPG en Java devient simple avec le GroupDocs.Conversion Cloud SDK for Java. En suivant les étapes ci‑dessus, vous pouvez rendre chaque feuille de calcul en JPG de haute qualité, exploiter le traitement asynchrone pour une meilleure évolutivité et appliquer des optimisations de performances pour les classeurs volumineux. N’oubliez pas d’obtenir une licence appropriée pour les déploiements en production ; les détails de tarification sont disponibles sur la page du produit, et vous pouvez commencer avec une licence temporaire pour évaluer la bibliothèque. Intégrez cette fonctionnalité dans vos applications afin de fournir des aperçus visuels rapides des données Excel sans dépendre des installations Office côté client.
FAQs
Comment effectuer une conversion XLSX en JPG en Java avec GroupDocs ?
Utilisez la classe ConversionApi pour télécharger un fichier XLSX, définissez JpgConvertOptions (résolution, qualité, asynchrone), puis appelez convertDocument. Le SDK renvoie un ID de tâche que vous pouvez interroger jusqu’à ce que les fichiers JPG soient prêts.
Puis-je convertir de grands classeurs Excel sans épuiser la mémoire ?
Oui. Activez la conversion asynchrone et définissez une résolution raisonnable. Le SDK traite les feuilles de calcul séquentiellement, maintenant une faible utilisation de la mémoire.
La conversion asynchrone est-elle prise en charge pour XLSX vers JPG ?
Le SDK fournit un drapeau async dans JpgConvertOptions. Lorsqu’il est défini sur true, l’API renvoie un ID de tâche, vous permettant de vérifier le statut et de télécharger les résultats plus tard.
Ai-je besoin d’une licence spéciale pour utiliser les fonctionnalités de conversion en production ?
Une licence valide GroupDocs.Conversion Cloud est requise pour une utilisation en production. Vous pouvez commencer avec une licence temporaire depuis la page de licence temporaire avant d’acheter un abonnement complet.
