웹 기반 시각화 도구를 구축하거나 CAD 데이터에 대한 썸네일을 생성할 때, DWG 도면을 PNG 이미지로 변환하는 경우가 자주 발생합니다. Aspose.HTML Cloud SDK for Node.js는 Node.js 애플리케이션에서 DWG 렌더링 및 이미지 내보내기를 직접 처리하는 강력한 라이브러리를 제공합니다. 이 가이드에서는 단계별 프로세스를 배우고, 완전한 작업 예제를 확인하며, 클라우드 API cURL 호출을 살펴보고, 대용량 DWG 파일을 효율적으로 처리하기 위한 성능 팁을 발견하게 됩니다.
Node.JS에서 DWG를 PNG로 변환하는 단계
- SDK 설치:
npm install aspose-html-cloud명령을 실행하여 라이브러리를 프로젝트에 추가합니다. - 클라이언트 생성:
CLIENT_ID와CLIENT_SECRET을 사용하여HtmlApi클래스를 초기화합니다. 이렇게 하면 이후 모든 호출이 인증됩니다. - DWG 소스 제공: DWG 파일을 Aspose 스토리지에 업로드하거나 SDK가 읽을 수 있는 로컬 경로를 지정합니다.
- 변환 호출: 대상 형식을
PNG로 설정하고 원하는 이미지 옵션을 전달하여convertDocument를 호출합니다. 전체 메서드 시그니처는 API reference를 참조하세요. - PNG 저장: API가 스트림을 반환합니다; 이를 디스크의 파일로 파이프하거나 Express 응답에서 클라이언트로 직접 전송합니다.
DWG를 PNG로 변환하는 샘플 - 전체 코드 예제
다음 예제는 DWG 파일을 수신하고 Aspose.HTML Cloud SDK를 사용하여 PNG로 변환한 뒤 호출자에게 이미지를 반환하는 최소한의 Express 라우트를 보여줍니다.
// 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.pdf,output.png등)를 실제 파일 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 다음, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.
cURL을 사용한 REST API를 통한 원격 DWG를 PNG로 변환
직접 HTTP 호출을 선호하는 경우, 클라우드 API에 cURL로 접근할 수 있습니다. 아래는 필요한 단계입니다.
- 액세스 토큰 얻기
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"
- 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
- 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}}'
- 결과 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에서 설치 및 설정
- 패키지 설치
npm install aspose-html-cloud - SDK 바이너리 다운로드 (로컬 리소스가 필요한 경우) download page에서.
- 자격 증명 설정 - 무료 Aspose Cloud 계정을 만들고
CLIENT_ID와CLIENT_SECRET을 가져와 안전하게 저장합니다(환경 변수를 권장). - 테스트용 임시 라이선스 적용 - temporary license page에서 얻은 키를 사용합니다.
DWG to PNG Conversion in Node.JS with Aspose.HTML
Aspose.HTML Cloud SDK는 네이티브 CAD 구성 요소 없이 DWG 파일을 래스터 형식으로 서버‑사이드 렌더링할 수 있게 합니다. 이 라이브러리는 DWG 구조를 파싱하고 각 레이아웃을 래스터화하여 선 굵기, 색상 및 레이어를 보존하는 고품질 PNG 이미지를 출력합니다. 이는 웹 포털, GIS 통합 및 자동 보고 파이프라인에 이상적입니다.
Aspose.HTML 기능 중 이 작업에 중요한 것
- 네이티브 DWG 지원 - 외부 변환기가 필요 없습니다.
- 구성 가능한 래스터 옵션 - 너비, 높이, 배경 및 압축.
- 스트리밍 출력 - 전체 이미지를 메모리에 로드하지 않고 큰 파일을 처리합니다.
- 클라우드 스토리지 통합 - Aspose Cloud 스토리지에서 직접 읽고 쓸 수 있습니다.
출력 품질 및 이미지 옵션 구성
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 압축 활성화 - 웹에서 PNG를 제공하는 경우 HTTP 계층에서 gzip 압축을 사용합니다.
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_ID와CLIENT_SECRET를 사용하여HtmlApi인스턴스를 생성합니다. SDK는 액세스 토큰을 자동으로 요청하고 갱신합니다. 자세한 내용은 공식 문서를 참조하십시오. -
PNG 외에 어떤 이미지 포맷을 내보낼 수 있나요?
SDK는 PNG 외에도 JPEG, BMP, GIF, 및 TIFF를 지원합니다. 변환 요청에서outputFormat매개변수를 설정하여 원하는 포맷을 선택하십시오. -
Azure Blob Storage에 저장된 DWG 파일을 변환할 수 있나요?
예. Azure Blob의 전체 URL을inputPath에 제공하고, Blob이 공개 액세스 가능하도록 하거나 필요한 SAS 토큰을 제공하십시오. 변환은 로컬 파일과 동일한 방식으로 작동합니다. -
대규모 변환에 유료 라이선스가 필요합니까?
프로덕션 작업에는 전체 라이선스를 구매해야 합니다. 개발 및 테스트에는 임시 라이선스가 충분하며, 임시 라이선스 페이지에서 얻을 수 있습니다.