La conversione di grafici complessi 3D da una cartella di lavoro Excel in un file PDF portatile è una necessità frequente per la creazione di report e la condivisione di dati visivi. Aspose.Cells Cloud SDK for Java fornisce una potente libreria basata su cloud che semplifica questo compito per gli sviluppatori Java. In questa guida percorriamo l’intero processo di conversione da 3D a PDF in Java, dalla preparazione dell’ambiente al recupero del documento finale. Vedrai una dettagliata analisi del codice, un esempio completo e i corrispondenti comandi cURL per l’integrazione con le API REST.

Configurazione Aspose.Cells Cloud SDK for Java

Prima di iniziare, assicurati di avere quanto segue:

  • Java 17 o versioni successive installate.
  • Maven o Gradle per la gestione delle dipendenze.
  • Un account Aspose Cloud con Client Id e Client Secret.
  • Accesso a Internet per le chiamate al cloud.

Aggiungi l’SDK al tuo progetto con la dipendenza Maven mostrata di seguito e scarica l’ultimo JAR dalla pagina di download ufficiale.

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells-cloud</artifactId>
    <version>26.7</version>
</dependency>

Puoi anche ottenere la libreria direttamente dal URL di download.

Configura il client con le tue credenziali. Questo frammento è preso direttamente dall’esempio completo.

Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default

Con la configurazione in atto, sei pronto per avviare il flusso di lavoro di conversione.

Conversione 3D in PDF con Java - Guida passo‑passo

Passo 1: Carica la cartella di lavoro Excel nello storage cloud

Per prima cosa, carica il file XLSX che contiene i grafici 3D. L’FilesApi gestisce il caricamento.

FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
    System.err.println("Upload failed.");
    return;
}

Passo 2: Preparare le opzioni di salvataggio PDF

Regola finemente l’output PDF abilitando la memorizzazione nella cache dei font, la compressione delle immagini e l’ottimizzazione della memoria. Queste opzioni aiutano a mantenere le dimensioni del PDF ridotte preservando la qualità visiva 3D.

PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);

Passo 3: Converti la cartella di lavoro in PDF

Chiama il metodo postWorkbookSaveAs di CellsApi per eseguire la conversione. Il riferimento API per questo metodo è disponibile nel 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)

Passo 4: Scarica il PDF risultante

Dopo una conversione riuscita, scarica i byte PDF e scrivili in un file locale.

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);

Passo 5: Pulizia opzionale

Rimuovi i file temporanei dall’archiviazione cloud per mantenere il tuo account ordinato.

filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);

Implementazione Java completa per la conversione 3D in PDF - Esempio di codice completo

Il seguente esempio dimostra la conversione end‑to‑end di una cartella di lavoro Excel 3D in PDF utilizzando 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) {
            }
        }
    }
}

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (input.xlsx, output.pdf, ecc.) per corrispondere alle tue effettive posizioni dei file, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Conversione REST API tramite cURL usando Aspose.Cells Cloud

Se preferisci un approccio indipendente dal linguaggio, la stessa conversione può essere eseguita con semplici comandi cURL contro l’API REST di Aspose.Cells Cloud.

1. Autenticati e ottieni un token di accesso

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 risposta contiene un access_token che utilizzerai nelle chiamate successive.

2. Carica il file XLSX di origine

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. Converti la cartella di lavoro in 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. Scarica il PDF generato

curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

Questi comandi eseguono lo stesso flusso di lavoro di conversione 3D in PDF in Java senza scrivere alcun codice Java. Per ulteriori dettagli, consultare la documentazione API ufficiale.

Conclusione

Seguendo i passaggi sopra indicati, è possibile convertire in modo affidabile i cartelle di lavoro Excel 3D in file PDF di alta qualità utilizzando Aspose.Cells Cloud SDK for Java. La libreria gestisce il lavoro pesante di rendering dei diagrammi 3D, mentre le opzioni di salvataggio PDF consentono di controllare dimensione e prestazioni. Ricorda di ottenere una licenza adeguata per l’uso in produzione; i dettagli dei prezzi sono disponibili nella pagina del prodotto e una licenza temporanea può essere ottenuta dalla pagina della licenza temporanea. Con queste conoscenze, sei pronto a integrare la conversione da 3D a PDF nelle tue applicazioni Java e a fornire report rifiniti agli utenti finali.

FAQs

  • Come implementare la conversione 3D in PDF in Java con Aspose.Cells?
    Utilizzare l’SDK per caricare il file XLSX, configurare PdfSaveOptions, chiamare postWorkbookSaveAs e scaricare il PDF risultante. Il campione di codice completo in questo articolo mostra la sequenza esatta.

  • Esiste un modo per eseguire la conversione PDF di diagrammi 3D in Java senza scrivere codice?
    Sì, l’API REST e i comandi cURL forniti consentono di ottenere lo stesso risultato da qualsiasi piattaforma in grado di effettuare richieste HTTP.

  • Qual è la differenza tra la conversione PDF della visualizzazione 3D e la conversione standard da Excel a PDF?
    Le visualizzazioni 3D richiedono un rendering aggiuntivo degli oggetti del grafico, che l’SDK gestisce automaticamente. La conversione standard potrebbe saltare questi passaggi di rendering 3D, portando a grafica mancante.

  • Posso utilizzare lo stesso flusso di lavoro per la conversione da Excel a PDF in Java di cartelle di lavoro non‑3D?
    Assolutamente. Le stesse chiamate API funzionano per qualsiasi file Excel; è sufficiente omettere o regolare le opzioni specifiche per il 3D se non sono necessarie.

Leggi di più