Convertir des graphiques 3D complexes d’un classeur Excel en un fichier PDF portable est un besoin fréquent pour le reporting et le partage de données visuelles. Aspose.Cells Cloud SDK for Java fournit une bibliothèque puissante basée sur le cloud qui simplifie cette tâche pour les développeurs Java. Dans ce guide, nous parcourons l’ensemble du processus de conversion 3D vers PDF en Java, depuis la préparation de votre environnement jusqu’à la récupération du document final. Vous verrez une analyse détaillée du code, un exemple complet et les commandes cURL équivalentes pour l’intégration de l’API REST.
Mise en place de Aspose.Cells Cloud SDK for Java
Avant de commencer, assurez‑vous d’avoir ce qui suit :
- Java 17 ou version plus récente installé.
- Maven ou Gradle pour la gestion des dépendances.
- Un compte Aspose Cloud avec Client Id et Client Secret.
- Accès à Internet pour les appels cloud.
Ajoutez le SDK à votre projet avec la dépendance Maven indiquée ci-dessous et téléchargez le dernier JAR depuis la page de téléchargement officielle.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.7</version>
</dependency>
Vous pouvez également obtenir la bibliothèque directement depuis le URL de téléchargement.
Configurez le client avec vos informations d’identification. Cet extrait est tiré directement de l’exemple complet.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
Avec la configuration en place, vous êtes prêt à démarrer le flux de travail de conversion.
Conversion 3D en PDF avec Java - Guide étape par étape
Étape 1 : Télécharger le classeur Excel vers le stockage cloud
Tout d’abord, téléchargez le fichier XLSX qui contient les graphiques 3D. L’API FilesApi gère le téléchargement.
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
Étape 2 : Préparer les options d’enregistrement PDF
Affinez la sortie PDF en activant la mise en cache des polices, la compression des images et l’optimisation de la mémoire. Ces options permettent de maintenir la taille du PDF faible tout en préservant la qualité visuelle 3D.
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);
Étape 3 : Convertir le classeur en PDF
Appelez la méthode postWorkbookSaveAs de CellsApi pour effectuer la conversion. La référence API pour cette méthode est disponible dans la Aspose.Cells API Reference.
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null); // storage (default)
Étape 4 : Télécharger le PDF résultant
Après une conversion réussie, téléchargez les octets PDF et écrivez‑les dans un fichier local.
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
Étape 5 : Nettoyage optionnel
Supprimez les fichiers temporaires du stockage cloud pour garder votre compte propre.
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
Implémentation Java complète pour la conversion 3D en PDF - Exemple de code complet
L’exemple suivant montre la conversion de bout en bout d’un classeur Excel 3D en PDF à l’aide d’Aspose.Cells Cloud SDK for Java.
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.api.FilesApi;
import com.aspose.cloud.cells.client.ApiException;
import com.aspose.cloud.cells.client.Configuration;
import com.aspose.cloud.cells.model.PdfSaveOptions;
import com.aspose.cloud.cells.model.FilesUploadResult;
import com.aspose.cloud.cells.model.WorkbookResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class AsposeCells3DToPdfExample {
public static void main(String[] args) {
// -------------------- Configuration --------------------
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
// -------------------- API Instances --------------------
CellsApi cellsApi = new CellsApi(config);
FilesApi filesApi = new FilesApi(config);
// -------------------- Local & Remote Paths --------------------
String localInputPath = "input.xlsx"; // Excel file containing 3D charts
String remoteInputName = "input.xlsx"; // Name used in cloud storage
String remoteOutputName = "output.pdf"; // Desired PDF name in cloud storage
String localOutputPath = "output.pdf"; // Where to save the downloaded PDF
try {
// -------------------- Upload Excel to Cloud --------------------
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
// -------------------- Prepare PDF Save Options (Performance) --------------------
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true); // Cache fonts for faster processing
pdfOptions.setCompressImages(true); // Compress images to reduce size
pdfOptions.setImageQuality(80); // Balance quality and size
pdfOptions.setEnableMemoryOptimization(true); // Reduce memory footprint
// -------------------- Convert Workbook to PDF --------------------
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null // storage (default)
);
if (convertResponse == null || convertResponse.getCode() != 200) {
System.err.println("Conversion failed.");
return;
}
// -------------------- Download Resulting PDF --------------------
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
} catch (ApiException | IOException e) {
e.printStackTrace();
} finally {
// -------------------- Optional Cleanup --------------------
try {
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
} catch (ApiException ignored) {
}
}
}
}
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.xlsx,output.pdf, etc.) 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.
Conversion d’API REST via cURL avec Aspose.Cells Cloud
Si vous préférez une approche indépendante du langage, la même conversion peut être effectuée avec de simples commandes cURL contre l’Aspose.Cells Cloud REST API.
1. Authentifier et obtenir un jeton d’accès
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
La réponse contient un access_token que vous utiliserez dans les appels suivants.
2. Téléchargez le fichier XLSX source
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/input.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@input.xlsx"
3. Convertir le classeur en PDF
curl -X POST "https://api.aspose.cloud/v3.0/cells/input.xlsx/saveAs/pdf?outputPath=output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"CacheFont": true,
"CompressImages": true,
"ImageQuality": 80,
"EnableMemoryOptimization": true
}'
4. Télécharger le PDF généré
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Ces commandes exécutent le même flux de travail de conversion 3D en PDF en Java sans écrire de code Java. Pour plus de détails, consultez la documentation officielle de l’API.
Conclusion
En suivant les étapes ci‑dessus, vous pouvez convertir de manière fiable les classeurs Excel 3D en fichiers PDF de haute qualité en utilisant Aspose.Cells Cloud SDK for Java. La bibliothèque gère le travail lourd de rendu des diagrammes 3D, tandis que les options d’enregistrement PDF vous permettent de contrôler la taille et les performances. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page produit et une licence temporaire peut être obtenue à partir de la page de licence temporaire. Avec ces connaissances, vous êtes prêt à intégrer la conversion 3D vers PDF dans vos applications Java et à fournir des rapports soignés aux utilisateurs finaux.
FAQs
-
Comment implémenter la conversion 3D en PDF en Java avec Aspose.Cells ?
Utilisez le SDK pour télécharger votre fichier XLSX, configurezPdfSaveOptions, appelezpostWorkbookSaveAset téléchargez le PDF résultant. L’exemple complet de code dans cet article montre la séquence exacte. -
Existe-t-il un moyen d’effectuer une conversion PDF de diagramme 3D en Java sans écrire de code ?
Oui, l’API REST et les commandes cURL fournies vous permettent d’obtenir le même résultat depuis n’importe quelle plateforme capable d’effectuer des requêtes HTTP. -
Quelle est la différence entre la conversion PDF de visualisation 3D et la conversion Excel vers PDF standard ?
Les visualisations 3D nécessitent un rendu supplémentaire des objets de graphique, que le SDK gère automatiquement. La conversion standard peut ignorer ces étapes de rendu 3D, entraînant des graphiques manquants. -
Puis-je utiliser le même flux de travail pour la conversion Java Excel vers PDF de classeurs non‑3D ?
Absolument. Les mêmes appels d’API fonctionnent pour n’importe quel fichier Excel ; il suffit d’omettre ou d’ajuster les options spécifiques à la 3D si elles ne sont pas nécessaires.