Работа с чертежами CAD часто подразумевает преобразование файлов DWG в веб‑дружественные изображения, такие как PNG. Aspose.BarCode Cloud SDK for Python упрощает эту конверсию, передавая обработку в облако. В этом руководстве мы покажем, как настроить SDK, выполнить аутентификацию, написать код на Python для преобразования DWG в PNG, а также получить тот же результат с помощью обычного запроса cURL, чтобы вы могли легко интегрировать рендеринг DWG в свои Python‑приложения.
Преобразование DWG в PNG в Python - Шаги
- Настройка учетных данных: Установите ваш client ID и client secret, чтобы SDK мог аутентифицироваться в облаке Aspose.
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
- Инициализировать клиент API: Создайте объект
Configuration, задайте учетные данные и создайте экземплярыApiClientиBarcodeApi.
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret
api_client = ApiClient(configuration=config)
barcode_api = BarcodeApi(api_client)
- Прочитать файл DWG: Откройте исходный файл DWG в бинарном режиме и прочитайте его содержимое в память.
with open("sample.dwg", "rb") as file_stream:
dwg_bytes = file_stream.read()
- Вызов конечной точки конвертации: Используйте
convert_imageи укажите"png"в качестве целевого формата. Метод возвращает данные PNG в виде массива байтов.
conversion_response = barcode_api.convert_image(
file=dwg_bytes,
format="png"
)
- Сохранить PNG‑вывод: Запишите возвращённые байты в файл с расширением
.png.
with open("sample.png", "wb") as out_file:
out_file.write(conversion_response)
Для получения более подробной информации о методе convert_image см. Справка API.
Преобразование DWG в PNG в Python - Полный рабочий пример
В следующем примере демонстрируется полный процесс конвертации DWG в PNG на Python с использованием 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()
Примечание: Этот пример кода демонстрирует базовый функционал. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут проблемы, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.
Конвертировать DWG в PNG через REST API с использованием cURL
Ниже приведена серия команд cURL, которые выполняют то же преобразование с использованием REST‑интерфейса.
- Получить токен доступа
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.
- Загрузить файл 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"
- Выполнить преобразование
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
- Скачать 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.
Вы также можете загрузить пакет напрямую со страницы страницы выпуска.
Настройка параметров конвертации DWG в PNG
Вызов конвертации принимает параметр format, который определяет тип выходного изображения. В нашем примере мы устанавливаем его в "png":
conversion_response = barcode_api.convert_image(
file=dwg_bytes,
format="png"
)
Другие необязательные параметры (например outPath, storage или настройки качества изображения) задокументированы в API Reference. При необходимости измените их, чтобы соответствовать требованиям вашего проекта.
Заключение
Преобразование DWG в PNG в Python становится тривиальным благодаря мощности Aspose.BarCode Cloud SDK for Python. Следуя приведённым выше шагам, вы можете интегрировать преобразование вектор‑в‑растр в любой бэкенд‑сервис, автоматизировать пакетную обработку или генерировать превью по запросу для CAD‑чертежей. Не забудьте получить действующую временную лицензию со страницы временных лицензий Aspose для разработки и тестирования, а также рассмотреть возможность приобретения полной лицензии для использования в продакшн‑среде. Приятного кодинга!
FAQs
-
Какие форматы файлов поддерживает SDK для конвертации?
Облачный эндпоинт конвертации обрабатывает множество векторных и растровых форматов, включая DWG, DXF, SVG, PDF, и другие. Обратитесь к документации для полного списка. -
Является ли преобразование DWG в PNG в Python потокобезопасным?
Да, каждый экземплярBarcodeApiможно использовать одновременно, при условии, что вы управляете отдельными объектами учётных данных для каждого потока.