Trabajar con dibujos CAD a menudo implica convertir archivos DWG en imágenes compatibles con la web, como PNG. El Aspose.BarCode Cloud SDK for Python simplifica esta conversión al delegar el procesamiento en la nube. En este tutorial le mostraremos cómo configurar el SDK, autenticarse, escribir el código Python para convertir un DWG a PNG y lograr el mismo resultado con una solicitud cURL sin procesar, para que pueda integrar la renderización de DWG en sus aplicaciones Python con facilidad.

Conversión de DWG a PNG en Python - Pasos

  1. Configurar credenciales: Establezca su client ID y client secret para que el SDK pueda autenticarse con el Aspose cloud.
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
  1. Inicializar el cliente API: Crear un objeto Configuration, asignar las credenciales y construir las instancias ApiClient y BarcodeApi.
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)
  1. Leer el archivo DWG: Abra el archivo DWG de origen en modo binario y lea su contenido en memoria.
with open("sample.dwg", "rb") as file_stream:
    dwg_bytes = file_stream.read()
  1. Llamar al endpoint de conversión: Use convert_image y especifique "png" como el formato de destino. El método devuelve los datos PNG como una matriz de bytes.
conversion_response = barcode_api.convert_image(
    file=dwg_bytes,
    format="png"
)
  1. Guardar la salida PNG: Escriba los bytes devueltos en un archivo con una extensión .png.
with open("sample.png", "wb") as out_file:
    out_file.write(conversion_response)

Para obtener más detalles sobre el método convert_image, consulte la Referencia de API.

Conversión de DWG a PNG en Python - Ejemplo completo de trabajo

El siguiente ejemplo muestra el flujo de trabajo completo para la conversión de DWG a PNG en Python usando el SDK de 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()

Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y los valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Convertir DWG a PNG mediante API REST usando cURL

A continuación se muestra una serie de comandos cURL que realizan la misma conversión utilizando la interfaz REST.

  1. Obtener un token de acceso
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 respuesta contiene access_token.

  1. Cargar el archivo 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. Ejecutar la conversión
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. Descargar el resultado PNG (opcional si usaste -o arriba)
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample.png

Para obtener una lista completa de los parámetros, consulte la documentación oficial de la API.

Instalación y configuración de Aspose.BarCode Cloud SDK for Python

El SDK se distribuye a través de PyPI. Instálalo con el siguiente comando:

pip install aspose-barcode-cloud

Requisitos previos: Python 3.6 o posterior, una cuenta activa de Aspose y credenciales de cliente válidas. El SDK requiere acceso a Internet para alcanzar los puntos finales de la nube de Aspose.

También puedes descargar el paquete directamente desde la página de lanzamientos.

Configuración de parámetros de conversión de DWG a PNG

La llamada de conversión acepta un parámetro format que determina el tipo de imagen de salida. En nuestro ejemplo lo establecemos en "png":

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

Otros parámetros opcionales (como outPath, storage o configuraciones de calidad de imagen) están documentados en la Referencia de API. Ajústelos según sea necesario para que coincidan con los requisitos de su proyecto.

Conclusión

La conversión de DWG a PNG en Python se vuelve trivial con el poder del Aspose.BarCode Cloud SDK for Python. Siguiendo los pasos anteriores, puedes integrar la conversión de vector a raster en cualquier servicio backend, automatizar el procesamiento por lotes o generar vistas previas bajo demanda para dibujos CAD. Recuerda obtener una licencia temporal válida desde la página de licencias temporales de Aspose para desarrollo y pruebas, y considera adquirir una licencia completa para uso en producción. ¡Feliz codificación!

FAQs

  • ¿Qué formatos de archivo admite el SDK para la conversión?
    El endpoint de conversión en la nube maneja muchos formatos vectoriales y raster, incluidos DWG, DXF, SVG, PDF, y más. Consulte la documentación para la lista completa.

  • ¿Es la conversión de DWG a PNG en Python segura para subprocesos?
    Sí, cada instancia de BarcodeApi puede usarse concurrentemente siempre que administres objetos de credenciales separados por hilo.

Read More