Lavorare con i disegni CAD spesso significa trasformare i file DWG in immagini adatte al web come PNG. L’Aspose.BarCode Cloud SDK for Python semplifica questa conversione delegando l’elaborazione al cloud. In questo tutorial mostreremo come configurare l’SDK, autenticarsi, scrivere il codice Python per convertire un DWG in PNG e ottenere lo stesso risultato con una richiesta cURL grezza, così da poter integrare il rendering DWG nelle tue applicazioni Python con facilità.

Conversione da DWG a PNG in Python - Passaggi

  1. Configura le credenziali: Imposta il tuo client ID e client secret in modo che l’SDK possa autenticarsi con il cloud Aspose.
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
  1. Inizializzare il client API: Crea un oggetto Configuration, assegna le credenziali e costruisci le istanze ApiClient e BarcodeApi.
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)
  1. Leggi il file DWG: Apri il file DWG di origine in modalità binaria e leggi il suo contenuto in memoria.
with open("sample.dwg", "rb") as file_stream:
    dwg_bytes = file_stream.read()
  1. Chiama l’endpoint di conversione: Usa convert_image e specifica "png" come formato di destinazione. Il metodo restituisce i dati PNG come array di byte.
conversion_response = barcode_api.convert_image(
    file=dwg_bytes,
    format="png"
)
  1. Salva l’output PNG: Scrivi i byte restituiti in un file con estensione .png.
with open("sample.png", "wb") as out_file:
    out_file.write(conversion_response)

Per ulteriori dettagli sul metodo convert_image, vedere il Riferimento API.

Conversione da DWG a PNG in Python - Esempio completo funzionante

Il seguente esempio dimostra il flusso di lavoro completo per la conversione da DWG a PNG in Python utilizzando l’Aspose.BarCode Cloud SDK.

import os
from asposebarcodecloud import Configuration, ApiClient, BarcodeApi, ApiException

# -------------------- Configuration --------------------
# Replace with your actual Aspose.BarCode Cloud credentials
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

# Initialize API client
api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)

# -------------------- File Paths --------------------
input_path = "sample.dwg"      # Path to the source DWG file
output_path = "sample.png"     # Desired PNG output path

# -------------------- Conversion --------------------
try:
    # Read the DWG file into memory
    with open(input_path, "rb") as file_stream:
        dwg_bytes = file_stream.read()

# The Aspose.BarCode Cloud SDK provides a generic image conversion endpoint.
    # Here we invoke it, specifying the target format as PNG.
    # The method name and parameters are based on the SDK's conversion API.
    conversion_response = barcode_api.convert_image(
        file=dwg_bytes,          # Binary content of the DWG file
        format="png"             # Target image format
    )

# Write the resulting PNG bytes to the output file
    with open(output_path, "wb") as out_file:
        out_file.write(conversion_response)

print(f"Conversion successful: '{input_path}' → '{output_path}'")

except ApiException as api_err:
    print(f"API error during conversion: {api_err}")
except Exception as err:
    print(f"Unexpected error: {err}")
finally:
    # Explicitly close the API client session if needed
    if hasattr(api_client, "close"):
        api_client.close()

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, 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.

Converti DWG in PNG tramite REST API usando cURL

Di seguito è riportata una serie di comandi cURL che eseguono la stessa conversione utilizzando l’interfaccia REST.

  1. Ottenere 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 access_token.

  1. Carica il file DWG
curl -X PUT "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.dwg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@sample.dwg"
  1. Esegui la conversione
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert?format=png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@sample.dwg" \
     -o sample.png
  1. Scarica il risultato PNG (opzionale se hai usato -o sopra)
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.png" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o sample.png

Per un elenco completo di parametri, consultare la documentazione API ufficiale.

Installazione e configurazione di Aspose.BarCode Cloud SDK for Python

L’SDK è distribuito tramite PyPI. Installalo con il seguente comando:

pip install aspose-barcode-cloud

Prerequisiti: Python 3.6 o versioni successive, un account Aspose attivo e credenziali client valide. L’SDK richiede l’accesso a Internet per raggiungere i endpoint cloud di Aspose.

Puoi anche scaricare il pacchetto direttamente dalla pagina di rilascio.

Configurazione dei parametri di conversione da DWG a PNG

La chiamata di conversione accetta un parametro format che determina il tipo di immagine di output. Nel nostro esempio lo impostiamo su "png":

conversion_response = barcode_api.convert_image(
    file=dwg_bytes,
    format="png"
)

Altri parametri opzionali (come outPath, storage o le impostazioni di qualità dell’immagine) sono documentati nella Riferimento API. Modificali secondo necessità per soddisfare i requisiti del tuo progetto.

Conclusione

La conversione da DWG a PNG in Python diventa banale grazie alla potenza dell’Aspose.BarCode Cloud SDK for Python. Seguendo i passaggi sopra, è possibile integrare la conversione da vettoriale a raster in qualsiasi servizio backend, automatizzare l’elaborazione batch o generare anteprime su richiesta per i disegni CAD. Ricorda di ottenere una licenza temporanea valida dalla pagina di licenza temporanea di Aspose per sviluppo e test, e considera l’acquisto di una licenza completa per l’uso in produzione. Buon coding!

Domande frequenti

  • Quali formati di file supporta l’SDK per la conversione?
    L’endpoint di conversione cloud gestisce molti formati vettoriali e raster, inclusi DWG, DXF, SVG, PDF, e altri. Consulta la documentazione per l’elenco completo.

  • La conversione da DWG a PNG in Python è thread‑safe?
    Sì, ogni istanza di BarcodeApi può essere utilizzata contemporaneamente, a condizione di gestire oggetti di credenziali separati per thread.

Leggi di più