피드로 돌아가기
Dev.toBackend
원문 읽기
FastAPI와 Playwright 기반의 Serverless PDF 생성 API 구축
Generate Invoice PDFs from HTML in 10 Lines of Code
AI 요약
Context
Headless Chrome 직접 운영 시 발생하는 메모리 누수 및 Scaling 이슈 해결 필요. 기존 Enterprise API의 높은 비용 부담과 wkhtmltopdf의 구형 CSS 지원 한계를 극복하기 위한 경량 API 설계 요구.
Technical Solution
- FastAPI 프레임워크를 통한 고성능 RESTful 인터페이스 구축
- Playwright 엔진 기반의 Headless Chromium 제어로 최신 CSS 표준 렌더링 보장
- JSON 입력 및 PDF 바이너리 출력 구조의 Stateless 아키텍처 설계
- PDF 병합, 분할, 워터마크, AES 암호화 등 Post-processing 기능을 8개 Endpoint로 모듈화
- RapidAPI 플랫폼 연동을 통한 API Key 인증 및 Quota 관리 자동화
- Railway 인프라 기반의 배포를 통한 인프라 관리 오버헤드 최소화
실천 포인트
- Headless Browser 운영 시 메모리 부족 및 Crash 방지를 위한 외부 API 서비스 검토 - 복잡한 PDF 레이아웃 구현 시 CSS 표준 지원 여부를 우선 확인하여 렌더링 엔진 선정 - PDF 생성-편집-보안 기능을 기능별 Endpoint로 분리하여 단일 책임 원칙 적용