ASP.NET MVC에서 PDF 생성: iTextSharp vs IronPDF 가이드
인터랙티브 지도, 3D 대시보드, 모델 뷰어는 WebGL을 사용해 브라우저에서 멋지게 보이지만, 이해관계자는 종종 고정되고 공유 가능한 버전을 필요로 합니다: 보고서의 지도 스냅샷, 승인 패킷의 3D 디자인, 아카이브의 시뮬레이션 결과 등. IronPDF는 WebGL 내용을 C#에서 고정된 PDF로 캡처하며, 렌더링 시의 장면의 시각적 상태를 보존합니다.
비즈니스 문제
물류 도구는 Mapbox 지도에 경로를 보여주고, 부동산 앱은 3D 지형을 표시하며, 엔지니어링 앱은 브라우저에서 CAD 모델을 렌더링합니다. 각각은 보고서, 기록, 혹은 라이브 애플리케이션에 접근할 수 없는 수신자를 위해 PDF 버전을 필요로 합니다. 일반적인 스크린샷은 저화질이고 수동이며, 표준 HTML-to-PDF 렌더링은 GPU에 의존하는 WebGL을 캡처하지 못합니다.
렌더링 구성
WebGL 캡처에는 세 가지 설정이 필요합니다: 단일 프로세스 모드, 하드웨어 GPU 모드, 캡처 전에 장면 렌더링이 완료되도록 하는 지연 시간.
using IronPdf;
// Required for WebGL: GPU operations must complete in one process
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Give the 3D scene time to load and render
renderer.RenderingOptions.WaitFor.RenderDelay(5000);
PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");
pdf.SaveAs("webgl.pdf");
결과물은 지도, 차트, 모델을 나타난 그대로 캡처하여 문서화, 보고서, 보관에 적합합니다.
계획할 고려 사항
이 기능은 실제 환경 요구 사항을 수반하며, 이는 주어진 배포에 적합한지를 결정합니다.
- 실제 GPU가 필요합니다: 하드웨어 GPU 모드는 필수입니다. 소프트웨어 렌더링은 셰이더, 텍스처, 3D 변환을 처리할 수 없으므로, 호스트는 최신 드라이버가 설치된 호환 가능한 GPU가 필요합니다.
- Docker는 지원되지 않습니다: WebGL 렌더링은 표준 Docker 컨테이너에서 작동하지 않습니다. 이는 헤드리스 상태로 GPU 접근이 제한되어 있습니다. 대안은 VM이나 전용 GPU 지원 서버, GPU 호스트에서 실행되는 마이크로서비스, 혹은 장면을 정적 이미지로 사전 렌더링하는 것입니다.
- 출력은 스냅샷입니다: PDF는 렌더 타임에 시각적 상태를 보존합니다. 패닝, 줌, 기타 인터랙티브 기능은 보존되지 않으며, 따라서 이는 문서화 및 보관에 적합하지, 인터랙티브 전달에는 적합하지 않습니다.
- 렌더 지연 시간을 조정하십시오: 복잡한 장면은 로드하는 데 시간이 필요합니다. 3000에서 10000밀리초 사이의 값은 테스트에 적당한 범위로, 너무 짧으면 렌더가 클립되고 너무 길면 시간이 낭비됩니다.
- 단일 프로세스 모드는 글로벌입니다: 이곳에서는 필수지만 동시성에 영향을 미치며, 이는 고용량 서비스에서 고려할 가치가 있습니다.
결과
GPU 모드가 활성화되고 적절한 호스트를 사용하면, 팀은 라이브 WebGL 지도, 대시보드, 3D 모델을 정적 PDF로 변환하여 보고서와 아카이브로 전달합니다. 전체 구성 및 문제 해결 단계는 WebGL 가이드에 있습니다.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.