تبدیل نمودارهای DWG به تصاویر PNG یک نیاز مکرر هنگام ساخت ابزارهای تجسم مبتنی بر وب یا تولید تصویرهای کوچک برای داده‌های CAD است. Aspose.HTML Cloud SDK for Node.js کتابخانه قدرتمندی را فراهم می‌کند که رندر DWG و صادرات تصویر را مستقیماً از برنامه‌های Node.js شما مدیریت می‌کند. در این راهنما شما فرآیند گام‌به‌گام را یاد می‌گیرید، یک مثال کامل عملی می‌بینید، تماس‌های cURL API ابری را بررسی می‌کنید و نکات عملکردی برای مدیریت مؤثر فایل‌های بزرگ DWG را کشف می‌کنید.

مراحل تبدیل DWG به PNG در Node.JS

  1. نصب SDK: دستور npm install aspose-html-cloud را اجرا کنید تا کتابخانه به پروژه شما اضافه شود.
  2. ایجاد یک کلاینت: کلاس HtmlApi را با CLIENT_ID و CLIENT_SECRET خود مقداردهی اولیه کنید. این کار تمام فراخوانی‌های بعدی را احراز هویت می‌کند.
  3. ارائه منبع DWG: یا فایل DWG را به ذخیره‌سازی Aspose بارگذاری کنید یا مسیر محلی‌ای را که SDK می‌تواند بخواند، ارجاع دهید.
  4. فراخوانی تبدیل: متد convertDocument را با تنظیم فرمت هدف به PNG صدا بزنید و هر گزینه تصویر دلخواهی را پاس کنید. برای امضای کامل متد به API reference مراجعه کنید.
  5. ذخیره PNG: API یک جریان (stream) برمی‌گرداند؛ آن را به یک فایل روی دیسک هدایت کنید یا مستقیماً در پاسخ Express به کلاینت ارسال کنید.

نمونه تبدیل DWG به PNG - مثال کامل کد

مثال زیر یک مسیر مینیمال Express را نشان می‌دهد که یک فایل DWG دریافت می‌کند، آن را با استفاده از Aspose.HTML Cloud SDK به PNG تبدیل می‌کند و تصویر را به فراخواننده باز می‌گرداند.

// Complete working example for DWG to PNG conversion
const express = require('express');
const fileUpload = require('express-fileupload');
const { HtmlApi, ConvertDocumentRequest } = require('aspose-html-cloud');

const app = express();
app.use(fileUpload());

const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const htmlApi = new HtmlApi(clientId, clientSecret);

app.post('/convert', async (req, res) => {
    if (!req.files || !req.files.dwgFile) {
        return res.status(400).send('DWG file is required.');
    }

const dwgBuffer = req.files.dwgFile.data;

// Prepare conversion request
    const convertRequest = new ConvertDocumentRequest({
        inputFile: dwgBuffer,
        inputFormat: 'DWG',
        outputFormat: 'PNG',
        // Optional image options
        options: {
            width: 1920,
            height: 1080,
            backgroundColor: '#FFFFFF',
            compressionLevel: 9
        }
    });

try {
        const result = await htmlApi.convertDocument(convertRequest);
        // result.body contains the PNG binary stream
        res.set('Content-Type', 'image/png');
        res.send(result.body);
    } catch (error) {
        console.error('Conversion error:', error);
        res.status(5
00).send('Failed to convert DWG to PNG.');
    }
});

app.listen(3000, () => console.log('Server listening on port 3000'));

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه‌تان، مطمئن شوید مسیرهای فایل (input.pdf، output.png و غیره) را به مکان‌های واقعی خود به‌روز کنید، اطمینان حاصل کنید تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.

تبدیل DWG به PNG از راه دور از طریق REST API با cURL

وقتی ترجیح می‌دهید تماس‌های مستقیم HTTP را استفاده کنید، می‌توانید به API ابری با 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"
    
  2. بارگذاری فایل DWG (اختیاری در صورت استفاده از ذخیره‌سازی)
    curl -X PUT "https://api.aspose.cloud/v4.0/storage/file/dwgSample.dwg" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -H "Content-Type: application/octet-stream" \
         --data-binary @dwgSample.dwg
    
  3. درخواست تبدیل به PNG
    curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{"inputPath":"dwgSample.dwg","outputPath":"output.png","options":{"width":1920,"height":1080}}'
    
  4. بارگیری PNG حاصل
    curl -X GET "https://api.aspose.cloud/v4.0/storage/file/output.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.png
    

برای دریافت فهرست کامل پارامترها، به مستندات رسمی API مراجعه کنید.

نصب و راه‌اندازی در Node.js

  1. نصب بسته
    npm install aspose-html-cloud
    
  2. دانلود باینری‌های SDK (اگر به منابع محلی نیاز دارید) از صفحه دانلود.
  3. تنظیم اعتبارنامه‌ها - یک حساب رایگان Aspose Cloud ایجاد کنید، CLIENT_ID و CLIENT_SECRET را دریافت کنید و به‌صورت ایمن ذخیره کنید (متغیرهای محیطی توصیه می‌شوند).
  4. اعمال یک لایسنس موقت برای تست با استفاده از کلیدی که از صفحه لایسنس موقت دریافت کرده‌اید.

تبدیل DWG به PNG در Node.JS با Aspose.HTML

Aspose.HTML Cloud SDK امکان رندر سمت سرور فایل‌های DWG را به فرمت‌های رستر بدون نیاز به هیچ‌یک از مؤلفه‌های بومی CAD فراهم می‌کند.
این کتابخانه ساختار DWG را تجزیه می‌کند، هر طرح را به رستر تبدیل می‌سازد و تصاویر PNG با دقت بالا را خروجی می‌دهد که وزن خطوط، رنگ‌ها و لایه‌ها را حفظ می‌کنند.
این ویژگی آن را برای پورتال‌های وب، یکپارچه‌سازی‌های GIS و خطوط لوله گزارش‌گیری خودکار ایده‌آل می‌سازد.

ویژگی‌های Aspose.HTML که برای این کار مهم هستند

  • پشتیبانی بومی DWG - نیازی به مبدل‌های خارجی نیست.
  • گزینه‌های تنظیم‌پذیر رستر - عرض، ارتفاع، پس‌زمینه و فشرده‌سازی.
  • خروجی استریمینگ - پردازش فایل‌های بزرگ بدون بارگذاری کل تصویر در حافظه.
  • یکپارچه‌سازی ذخیره‌سازی ابری - خواندن و نوشتن مستقیم به ذخیره‌سازی ابری Aspose.

پیکربندی کیفیت خروجی و گزینه‌های تصویر

هنگام تبدیل DWG به PNG، می‌توانید نتیجه را به‌دقت تنظیم کنید:

options: {
    width: 2560,               // Desired pixel width
    height: 1440,              // Desired pixel height
    backgroundColor: '#FFFFFF',
    compressionLevel: 8        // PNG compression (0‑9)
}

سایر پارامترهای قابل تنظیم شامل colorDepth، antiAliasing و preserveAspectRatio هستند. برای دریافت فهرست کامل به مرجع API مراجعه کنید.

بهینه‌سازی عملکرد برای فایل‌های DWG بزرگ

  • استفاده از استریم - SDK یک استریم قابل خواندن برمی‌گرداند؛ آن را مستقیماً به یک فایل یا پاسخ HTTP وصل کنید تا از افزایش ناگهانی حافظه جلوگیری شود.
  • محدود کردن وضوح - عرض/ارتفاع را به حداقل مورد نیاز برای مورد استفاده خود تنظیم کنید.
  • پردازش دسته‌ای - فایل‌ها را به صورت متوالی یا با هم‌زمانی کنترل‌شده پردازش کنید تا استفاده از CPU ثابت بماند.
  • فعال‌سازی فشرده‌سازی gzip در لایه HTTP اگر PNGها را از طریق وب سرو می‌کنید.

بهترین شیوه‌ها برای تبدیل DWG به PNG

  • قبل از تبدیل، یکپارچگی DWG را اعتبارسنجی کنید تا فایل‌های خراب را زود تشخیص دهید.
  • PNGهای میانی را در یک کش ذخیره کنید وقتی که همان نقشه به‌طور مکرر درخواست می‌شود.
  • مدت زمان تبدیل را لاگ کنید و برای شناسایی گلوگاه‌های عملکرد، مقادیر دور از حد معمول را نظارت کنید.
  • برای توسعه از لایسنس موقت استفاده کنید و قبل از استقرار به تولید، به لایسنس پرداختی سوئیچ کنید.

نتیجه‌گیری

با استفاده از Aspose.HTML Cloud SDK for Node.js، توسعه‌دهندگان می‌توانند تبدیل قابل اعتماد DWG به PNG را تنها با چند خط کد پیاده‌سازی کنند. این SDK بار سنگین رندرینگ CAD را بر عهده می‌گیرد، در حالی که API ابری پردازش مقیاس‌پذیر و بر‑تقاضا را ارائه می‌دهد. به یاد داشته باشید برای استفاده در محیط تولید، یک لایسنس مناسب دریافت کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید یک لایسنس موقت را از صفحه لایسنس موقت دریافت کنید. کدهای نمونه بالا را یکپارچه کنید، گزینه‌ها را بر حسب نیاز خود تنظیم کنید و آماده ارائه پیش‌نمایش‌های PNG با کیفیت بالا برای هر نقشه DWG خواهید شد.

پرسش‌های متداول

  • چگونه هنگام استفاده از Aspose.HTML Cloud SDK برای Node.js احراز هویت را مدیریت کنم؟
    یک نمونه HtmlApi با CLIENT_ID و CLIENT_SECRET خود ایجاد کنید. SDK به‌صورت خودکار توکن دسترسی را درخواست و تازه‌سازی می‌کند. برای جزئیات، به مستندات رسمی مراجعه کنید.

  • چه فرمت‌های تصویری می‌توانم علاوه بر PNG صادر کنم؟
    SDK فرمت‌های JPEG، BMP، GIF، و TIFF را علاوه بر PNG پشتیبانی می‌کند. برای انتخاب فرمت موردنظر، پارامتر outputFormat را در درخواست تبدیل تنظیم کنید.

  • آیا امکان تبدیل فایل‌های DWG ذخیره‌شده در Azure Blob Storage وجود دارد؟
    بله. URL کامل Azure Blob را به عنوان inputPath ارائه دهید و اطمینان حاصل کنید که Blob به‌صورت عمومی قابل دسترسی است یا توکن SAS مورد نیاز را فراهم کنید. تبدیل به همان روشی که برای فایل‌های محلی است، انجام می‌شود.

  • آیا برای تبدیل‌های بزرگ‌مقیاس نیاز به لایسنس پولی دارم؟
    برای بارهای کاری تولیدی باید یک لایسنس کامل خریداری کنید. یک لایسنس موقت برای توسعه و تست کافی است و می‌توانید آن را از صفحه لایسنس موقت دریافت کنید.

بیشتر بخوانید