使用 CAD 图纸通常意味着将 DWG 文件转换为网页友好的图像,例如 PNG。Aspose.BarCode Cloud SDK for Python 通过将处理工作转移到云端,使此转换变得简单。在本教程中,我们将展示如何设置 SDK、进行身份验证、编写 Python 代码将 DWG 转换为 PNG,以及使用原始 cURL 请求实现相同的结果,从而轻松将 DWG 渲染集成到您的 Python 应用程序中。

Python 中的 DWG 转 PNG 转换 - 步骤

  1. 配置凭证: 设置您的 client ID 和 client secret,以便 SDK 能够在 Aspose cloud 上进行身份验证。
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
  1. 初始化 API 客户端:创建一个 Configuration 对象,分配凭据,并构建 ApiClientBarcodeApi 实例。
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)
  1. 读取 DWG 文件: 以二进制模式打开源 DWG 文件并将其内容读取到内存中。
with open("sample.dwg", "rb") as file_stream:
    dwg_bytes = file_stream.read()
  1. 调用转换端点:使用 convert_image 并将目标格式指定为 "png"。该方法返回 PNG 数据的字节数组。
conversion_response = barcode_api.convert_image(
    file=dwg_bytes,
    format="png"
)
  1. 保存 PNG 输出: 将返回的字节写入具有 .png 扩展名的文件。
with open("sample.png", "wb") as out_file:
    out_file.write(conversion_response)

有关 convert_image 方法的更多详细信息,请参阅 API 参考

Python 中的 DWG 转 PNG 转换 - 完整工作示例

以下示例演示了使用 Aspose.BarCode Cloud SDK 在 Python 中将 DWG 转换为 PNG 的完整工作流。

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

注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新所有文件路径和配置值以匹配实际环境,验证已正确安装所有必需的依赖项,并在开发环境中进行彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

通过 REST API 使用 cURL 将 DWG 转换为 PNG

以下是一系列使用 REST 接口执行相同转换的 cURL 命令。

  1. 获取访问令牌
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"

响应中包含 access_token

  1. 上传 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. 执行转换
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. 下载 PNG 结果(如果您在上面使用了 -o,此步骤为可选)
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample.png

有关完整参数列表,请参阅官方 API 文档

安装和配置 Aspose.BarCode Cloud SDK for Python

SDK 通过 PyPI 分发。使用以下命令进行安装:

pip install aspose-barcode-cloud

先决条件:Python 3.6 或更高版本,活跃的 Aspose 帐户,以及有效的客户端凭据。SDK 需要互联网访问才能连接 Aspose cloud endpoints。

您也可以直接从发布页面下载该包。

配置 DWG 转 PNG 的转换参数

转换调用接受一个 format 参数,用于确定输出图像类型。在我们的示例中,我们将其设置为 "png"

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

其他可选参数(例如 outPathstorage 或图像质量设置)在 API 参考 中有文档说明。根据项目需求进行相应调整。

结论

在 Python 中,将 DWG 转换为 PNG 变得非常简单,只需借助 Aspose.BarCode Cloud SDK for Python。按照上述步骤操作,您可以将矢量转光栅的转换集成到任何后端服务中,实现批量处理自动化,或为 CAD 图纸生成按需预览。请记得从 Aspose temporary license page 获取有效的临时许可证用于开发和测试,并考虑为生产环境购买完整许可证。祝编码愉快!

FAQs

  • SDK 支持哪些文件格式的转换?
    云转换端点支持多种矢量和光栅格式,包括 DWG、DXFSVGPDF 等。请参阅文档获取完整列表。

  • DWG 转 PNG 的 Python 转换是否线程安全?
    是的,只要为每个线程管理单独的凭证对象,就可以并发使用每个 BarcodeApi 实例。

阅读更多