DWG 圖紙轉換為 PNG 圖像是構建基於 Web 的可視化工具或為 CAD 數據生成縮略圖時的常見需求。Aspose.HTML Cloud SDK for Node.js 提供了一個強大的庫,可直接在您的 Node.js 應用程序中處理 DWG 渲染和圖像導出。在本指南中,您將學習逐步流程,查看完整的工作範例,探索雲端 API 的 cURL 調用,並發現處理大型 DWG 文件的性能技巧。

步驟:在 Node.JS 中將 DWG 轉換為 PNG

  1. 安裝 SDK:執行 npm install aspose-html-cloud 以將庫加入您的專案。
  2. 建立客戶端:使用您的 CLIENT_IDCLIENT_SECRET 初始化 HtmlApi 類別。此操作會驗證所有後續呼叫。
  3. 提供 DWG 來源:可以將 DWG 檔案上傳至 Aspose storage,或是引用 SDK 能讀取的本機路徑。
  4. 呼叫轉換:呼叫 convertDocument,將目標格式設定為 PNG,並傳入任何所需的影像選項。請參閱 API 參考 以取得完整的方法簽名。
  5. 儲存 PNG:API 會回傳串流;將其導入磁碟檔案或直接在 Express 回應中傳送給客戶端。

DWG to 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(500).send('Failed to convert DWG to PNG.');
    }
});

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

注意: 此程式碼範例示範了核心功能。在將其用於您的專案之前,請確保更新檔案路徑(input.pdfoutput.png 等)以符合實際檔案位置,驗證所有必要的相依性已正確安裝,並在開發環境中徹底測試。如遇到任何問題,請參閱官方文件或聯絡支援團隊尋求協助。

使用 cURL 透過 REST API 進行遠端 DWG 轉 PNG

當您偏好直接的 HTTP 呼叫時,可以使用 cURL 存取雲端 API。以下是所需的步驟。

  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 二進位檔(如果您需要本機資源)從download page
  3. 設定憑證 - 建立免費的 Aspose Cloud 帳戶,取得 CLIENT_IDCLIENT_SECRET,並安全地儲存(建議使用環境變數)。
  4. 套用臨時授權以進行測試,使用從temporary license page取得的金鑰。

DWG 轉 PNG 轉換(Node.JS)使用 Aspose.HTML

Aspose.HTML Cloud SDK 允許在伺服器端將 DWG 檔案渲染為點陣格式,無需任何原生 CAD 元件。該函式庫會解析 DWG 結構,對每個版面進行光柵化,並輸出保留線寬、顏色與圖層的高保真 PNG 圖像。這使其非常適合用於 Web 入口網站、GIS 整合以及自動化報告流程。

Aspose.HTML Features That Matter For This Task

  • Native DWG support - 無需外部轉換器。
  • Configurable raster options - 寬度、高度、背景與壓縮。
  • Streaming output - 在不將整個圖像載入記憶體的情況下處理大型檔案。
  • Cloud storage integration - 直接讀寫 Aspose Cloud 儲存。

設定輸出品質與影像選項

在將 DWG 轉換為 PNG 時,您可以微調結果:

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

其他可調整的參數包括 colorDepthantiAliasingpreserveAspectRatio。請參閱 API 參考 以獲取完整列表。

大型 DWG 檔案的效能最佳化

  • 使用串流 - SDK 會回傳可讀取的串流;直接將其導向檔案或 HTTP 回應,以避免記憶體峰值。
  • 限制解析度 - 將寬度/高度設定為您的使用情境所需的最小值。
  • 批次處理 - 依序處理檔案或以受控的併發數執行,以保持 CPU 使用率穩定。
  • 在 HTTP 層啟用 gzip 壓縮,如果您在網路上提供 PNG 圖片。

DWG 轉 PNG 的最佳實踐

  • 在轉換之前驗證 DWG 完整性,以便及早捕獲損壞的檔案。
  • 當相同圖紙被重複請求時,將中間產生的 PNG 存儲在快取中。
  • 記錄轉換時間並監控異常值,以識別性能瓶頸。
  • 在開發時使用臨時授權,並在部署到生產環境前切換為付費授權。

結論

透過 Aspose.HTML Cloud SDK for Node.js,開發人員只需幾行程式碼即可實作可靠的 DWG 轉 PNG 轉換。SDK 處理 CAD 渲染的繁重工作,而雲端 API 提供可擴充、按需的處理。請記得取得適當的授權以供正式環境使用,產品頁面上提供價格細節,亦可從臨時授權頁面取得臨時授權。整合上述程式碼片段,依需求調整選項,即可為任何 DWG 圖紙提供高品質的 PNG 預覽。

常見問題

  • 在使用 Aspose.HTML Cloud SDK for Node.js 時,如何處理驗證?
    建立一個帶有 CLIENT_IDCLIENT_SECRETHtmlApi 實例。SDK 會自動請求並刷新存取權杖。詳情請參閱官方文件

  • 除了 PNG,我還能匯出哪些影像格式?
    SDK 支援 JPEGBMPGIFTIFF,以及 PNG。請在轉換請求中設定 outputFormat 參數以選擇所需的格式。

  • 是否可以轉換儲存在 Azure Blob Storage 中的 DWG 檔案?
    是的。將 Azure Blob 的完整 URL 作為 inputPath 提供,並確保 Blob 可公開存取,或提供所需的 SAS 令牌。轉換方式與本機檔案相同。

  • 我需要付費授權才能進行大規模轉換嗎?
    對於生產工作負載,您應該購買完整授權。臨時授權足以用於開發和測試,且可從臨時授權頁面取得。

Read More