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, configurez PdfSaveOptions, appelez postWorkbookSaveAs et 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.

En savoir plus