La conversione dei file DWG in immagini PNG è una necessità frequente per le applicazioni .NET che devono visualizzare disegni tecnici sul web o nei report. Aspose.CAD Cloud SDK for .NET fornisce un’API robusta che gestisce il lavoro pesante del rendering CAD nel cloud. Questa guida ti accompagna attraverso l’intero processo, dall’installazione dell’SDK alla scrittura di un esempio completo in C#, alla configurazione delle opzioni di conversione, alla gestione degli errori e all’uso di cURL per chiamate REST dirette.

Installazione e configurazione in .NET

Per iniziare a utilizzare l’SDK è necessario:

  • Requisiti di sistema: .NET 6.0 o successivo, accesso a Internet per le chiamate cloud.
  • Installazione del pacchetto: Esegui il seguente comando nella directory del tuo progetto:
dotnet add package Aspose.CAD-Cloud
  • Scarica l’SDK: Ottieni gli ultimi binari da questa pagina.
  • Autenticazione: Crea un client ID e un client secret di Aspose Cloud dal tuo Aspose dashboard. Conservali in modo sicuro, ad esempio in appsettings.json o nelle variabili d’ambiente.
var clientId = Environment.GetEnvironmentVariable("ASPOSE_CLIENT_ID");
var clientSecret = Environment.GetEnvironmentVariable("ASPOSE_CLIENT_SECRET");

Caratteristiche principali di Aspose.CAD Cloud SDK for .NET

  • Supporto ampio di formati: Converti DWG, DXF, DWF e molti altri formati CAD in PNG, JPEG, PDF e altro.
  • Rasterizzazione di alta qualità: Conserva spessori delle linee, livelli e colori con DPI configurabile.
  • Elaborazione basata su cloud: Scarica il rendering intensivo sui server Aspose, riducendo il consumo di risorse locali.
  • Conversione batch: Elabora più file in una singola chiamata API usando pattern asincroni.
  • Documentazione completa: La reference completa dell’API è disponibile al riferimento API ufficiale.

Configurazione delle opzioni di conversione da DWG a PNG

È possibile controllare l’immagine di output impostando le seguenti opzioni nel corpo della richiesta:

Opzione Descrizione
width Larghezza dell’immagine di destinazione in pixel.
height Altezza dell’immagine di destinazione in pixel.
dpi Punti per pollice per la rasterizzazione (predefinito 300).
backgroundColor Colore esadecimale per lo sfondo, ad es., #FFFFFF.
layerVisibility Elenco dei nomi dei livelli da includere o escludere.

Esempio JSON payload:

{
  "outputFormat": "png",
  "width": 1024,
  "height": 768,
  "dpi": 300,
  "backgroundColor": "#FFFFFF"
}

Ottimizzazione delle prestazioni e dell’uso della memoria

  • Utilizzare chiamate asincrone: L’SDK supporta metodi async che liberano il thread mentre si attende la risposta del cloud.
  • Regolare DPI: Un DPI più alto migliora la qualità ma aumenta la dimensione del payload. Scegliere il DPI più basso che soddisfa i requisiti visivi.
  • Riutilizzare HttpClient: Creare un’unica istanza di HttpClient per tutte le richieste di conversione per beneficiare del pooling delle connessioni.

Gestione degli errori e risoluzione dei problemi di conversione

Di seguito è riportato un riferimento rapido per i codici di stato HTTP comuni restituiti dal endpoint di conversione:

Codice di stato Significato Azione consigliata
400 Richiesta non valida - parametri non validi Verifica il payload JSON e il formato del file.
401 Non autorizzato - credenziali non valide Controlla client ID/secret e la generazione del token.
404 File non trovato - sorgente DWG mancante Assicurati che il file sia stato caricato nel percorso corretto.
500 Errore interno del server Riprova dopo un breve ritardo; contatta il supporto se il problema persiste.

Passaggi per convertire DWG in PNG in .NET

  1. Crea il client API - Inizializza la classe CadApi con le tue credenziali.
    var api = new Aspose.CAD.Cloud.Sdk.Api.CadApi(clientId, clientSecret);
    
  2. Carica il file DWG - Usa il metodo UploadFile per posizionare il file sorgente nello storage cloud.
    api.UploadFile("input.dwg", File.ReadAllBytes("local/path/input.dwg"));
    
  3. Prepara le opzioni di conversione - Costruisci un oggetto JSON con le impostazioni PNG desiderate (vedi la tabella sopra).
  4. Invoca l’endpoint di conversione - Chiama Convert con il percorso sorgente, il formato di destinazione e le opzioni.
    var result = api.Convert("input.dwg", "png", conversionOptions);
    
  5. Scarica il risultato PNG - Recupera i dati binari e salvali localmente.
    File.WriteAllBytes("output.png", result);
    

Per ulteriori dettagli su ciascun metodo, fare riferimento al Riferimento API.

Conversione DWG in PNG - Esempio di Codice Completo

Il programma seguente dimostra una conversione completa end‑to‑end, inclusa la gestione degli errori e la pulizia delle risorse.

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

Conversione DWG basata su cloud tramite API REST usando cURL

È possibile ottenere lo stesso risultato senza scrivere codice C# chiamando direttamente gli endpoint REST di Aspose.CAD Cloud.

1. 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"

2. Carica il file DWG

curl -X PUT "https://api.aspose.cloud/v3.0/storage/file/inputs/sample.dwg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@sample.dwg"

3. Richiedi la conversione in PNG

curl -X POST "https://api.aspose.cloud/v3.0/cad/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "inputPath": "inputs/sample.dwg",
           "outputPath": "outputs/sample.png",
           "format": "png",
           "options": {
               "width": 1024,
               "height": 768,
               "dpi": 300,
               "backgroundColor": "#FFFFFF"
           }
         }'

4. Scarica il PNG convertito

curl -X GET "https://api.aspose.cloud/v3.0/storage/file/outputs/sample.png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o "sample.png"

Per un elenco completo di parametri e esempi aggiuntivi, consulta la documentazione ufficiale dell’API.

Conclusione

Convertire DWG in PNG in .NET è semplice quando si sfrutta la potenza di Aspose.CAD Cloud SDK for .NET. L’SDK gestisce il caricamento del file, la conversione e il download offrendo al contempo un controllo dettagliato sulla qualità dell’immagine e sulle prestazioni. Ricordati di acquisire una licenza valida per l’uso in produzione; puoi ottenere una licenza temporanea dalla pagina della licenza temporanea ed esplorare le opzioni di prezzo sul sito web di Aspose. Con il campione di codice fornito e i comandi cURL, sei pronto a integrare la conversione da DWG a PNG in qualsiasi applicazione .NET.

FAQ

Q: È possibile convertire un file DWG in PNG senza scrivere alcun codice?
A: Sì, è possibile utilizzare direttamente la REST API con strumenti come cURL o Postman. I passaggi sono descritti nella sezione “Cloud-Based DWG Conversion via REST API using cURL”, e il riferimento API fornisce tutti i parametri richiesti.

Q: Come gestisco file DWG di grandi dimensioni per evitare problemi di memoria?
A: Utilizza i metodi asincroni mostrati nell’esempio di codice e imposta un DPI ragionevole (ad es., 150-300). L’SDK trasmette i dati al cloud, riducendo al minimo il consumo di memoria locale.

Q: Cosa succede se la conversione fallisce con un errore 400?
A: Un errore 400 di solito indica un payload di richiesta non valido. Verifica che le tue opzioni JSON corrispondano allo schema descritto nella sezione “Configuring Conversion Options for DWG to PNG” e che il file di origine esista nel percorso cloud specificato.

Q: Posso convertire più file DWG in PNG in un’unica operazione batch?
A: Sebbene l’API elabori un file per richiesta, è possibile scrivere uno script con un ciclo che carica ogni DWG, avvia la conversione e scarica il PNG in modo asincrono. Questo approccio massimizza il throughput e mantiene l’implementazione semplice.

Read More