Travailler avec des dessins CAO signifie souvent convertir les fichiers DWG en images compatibles avec le web, comme le format PNG. Le Aspose.BarCode Cloud SDK for Python simplifie cette conversion en déléguant le traitement au cloud. Dans ce tutoriel, nous vous montrerons comment configurer le SDK, vous authentifier, écrire le code Python pour convertir un DWG en PNG, et obtenir le même résultat avec une requête cURL brute, afin que vous puissiez intégrer le rendu DWG dans vos applications Python en toute simplicité.

Conversion de DWG en PNG avec Python - Étapes

  1. Configurer les informations d’identification : Définissez votre ID client et votre secret client afin que le SDK puisse s’authentifier auprès du cloud Aspose.
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
  1. Initialiser le client API : Créez un objet Configuration, attribuez les informations d’identification et construisez les instances ApiClient et BarcodeApi.
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)
  1. Lire le fichier DWG : Ouvrez le fichier DWG source en mode binaire et lisez son contenu en mémoire.
with open("sample.dwg", "rb") as file_stream:
    dwg_bytes = file_stream.read()
  1. Appeler le point de terminaison de conversion : utilisez convert_image et spécifiez "png" comme format cible. La méthode renvoie les données PNG sous forme de tableau d’octets.
conversion_response = barcode_api.convert_image(
    file=dwg_bytes,
    format="png"
)
  1. Enregistrer la sortie PNG : Écrivez les octets retournés dans un fichier avec une extension .png.
with open("sample.png", "wb") as out_file:
    out_file.write(conversion_response)

Pour plus de détails sur la méthode convert_image, consultez la Référence API.

Conversion de DWG en PNG avec Python - Exemple complet fonctionnel

L’exemple suivant montre le flux de travail complet pour la conversion de DWG en PNG en Python à l’aide du SDK Aspose.BarCode Cloud.

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

Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, 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.

Convertir DWG en PNG via l’API REST en utilisant cURL

Voici une série de commandes cURL qui effectuent la même conversion en utilisant l’interface REST.

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

  1. Téléverser le fichier 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. Exécuter la conversion
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. Télécharger le résultat PNG (optionnel si vous avez utilisé -o ci-dessus)
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.png" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o sample.png

Pour une liste complète des paramètres, consultez la documentation officielle de l’API.

Installation et configuration Aspose.BarCode Cloud SDK for Python

Le SDK est distribué via PyPI. Installez‑le avec la commande suivante :

pip install aspose-barcode-cloud

Prérequis: Python 3.6 ou version plus récente, un compte Aspose actif et des identifiants client valides. Le SDK nécessite un accès Internet pour atteindre les points de terminaison cloud d’Aspose.

Vous pouvez également télécharger le package directement depuis la page de publication.

Configuration des paramètres de conversion de DWG en PNG

L’appel de conversion accepte un paramètre format qui détermine le type d’image de sortie. Dans notre exemple, nous le définissons sur "png":

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

Les autres paramètres optionnels (tels que outPath, storage ou les paramètres de qualité d’image) sont documentés dans la Référence de l’API. Ajustez-les selon les besoins pour correspondre aux exigences de votre projet.

Conclusion

Conversion de DWG en PNG en Python devient triviale grâce à la puissance du Aspose.BarCode Cloud SDK for Python. En suivant les étapes ci‑dessus, vous pouvez intégrer la conversion vecteur‑vers‑raster dans n’importe quel service backend, automatiser le traitement par lots ou générer des aperçus à la demande pour les dessins CAO. N’oubliez pas d’obtenir une licence temporaire valide depuis la page de licence temporaire Aspose pour le développement et les tests, et envisagez d’acheter une licence complète pour une utilisation en production. Bon codage!

FAQ

  • Quels formats de fichiers le SDK prend-il en charge pour la conversion ?
    Le point de terminaison de conversion cloud gère de nombreux formats vectoriels et raster, y compris DWG, DXF, SVG, PDF, et plus encore. Consultez la documentation pour la liste complète.

  • La conversion DWG en PNG en Python est‑elle thread‑safe ?
    Oui, chaque instance de BarcodeApi peut être utilisée simultanément tant que vous gérez des objets d’identification séparés par thread.

En savoir plus