피드로 돌아가기
Generating PDF Invoices with a Single API Call (No Libraries Needed)
Dev.toDev.to
Backend

PDF 라이브러리 의존성 제거를 위한 JSON-to-PDF API 추상화

Generating PDF Invoices with a Single API Call (No Libraries Needed)

Jack2026년 4월 25일2beginner

Context

Puppeteer, WeasyPrint 등 기존 PDF 생성 라이브러리의 시스템 의존성 문제로 인한 배포 복잡성 증가. OS별 폰트 렌더링 불일치와 메모리 누수로 인한 인프라 유지보수 비용 상승.

Technical Solution

  • PDF 생성 로직을 외부 API로 완전히 분리하여 Client-side의 Library Dependency 제거
  • JSON 기반의 Data Schema를 정의하여 데이터 전달과 렌더링 레이어의 Decoupling 구현
  • 서버 측 템플릿 엔진을 통한 HTML/CSS 렌더링 프로세스 캡슐화
  • API 단일 엔드포인트를 통한 PDF 생성 파이프라인 단순화
  • Classic, Modern, Minimal 등 사전 정의된 Template Selection 구조 채택
  • REST API 인터페이스를 통한 Stateless한 문서 생성 환경 구축

- PDF 생성과 같은 Heavy한 시스템 의존적 작업은 Microservice로 분리하여 메인 서버의 리소스 간섭 최소화 - UI 렌더링 결과물의 일관성이 중요한 경우, Client가 아닌 서버 제어 방식의 Rendering Engine 도입 검토 - 복잡한 설정값 대신 JSON 스키마 기반의 템플릿 제어 방식으로 인터페이스 단순화

원문 읽기