Files
wace_rps/frontend
hjjeong 8fdc42df79 PR-C G5-B 일반 견적서 PDF 다운로드 (html2canvas-pro + jspdf)
- frontend deps: html2canvas-pro@^2.0.2, jspdf@^3.0.4
- template1 페이지 "PDF 다운로드" 버튼 → wace fn_generatePdf 1:1 포팅
  · 클라이언트 dynamic import (SSR 회피)
  · html2canvas-pro 캡처 (scale 2, JPEG 0.85) → jsPDF A4 페이지 분할 → save({estimateNo}.pdf)
  · onclone 콜백에서 input/textarea/select → 텍스트 노드로 교체 (글자 잘림 방지)
  · .no-print, .btn-area, 삭제버튼은 클론에서 숨김
- html2canvas-pro 사용 이유: Tailwind 4 oklab/oklch CSS color function 지원
  (기존 html2canvas 1.4.1은 "Attempting to parse an unsupported color function 'oklab'" 에러)

장비 견적서(template2)는 wace 원본부터 PDF 다운로드 버튼이 없어 그대로 유지.
메일 발송용 PDF 합본은 G6 SMTP 묶음에서 처리.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 14:32:29 +09:00
..
2026-04-01 12:20:41 +09:00
2026-04-22 14:55:28 +09:00

This is a Next.js project bootstrapped with create-next-app.

Environment Setup

환경변수 설정

개발 환경에서 파일 미리보기가 정상 작동하도록 하려면 다음 환경변수를 설정하세요:

  1. .env.local 파일을 생성하고 다음 내용을 추가:
# 개발 환경 (Next.js rewrites 사용)
NEXT_PUBLIC_API_URL=/api

# 운영 환경에서는 실제 백엔드 URL 사용
# NEXT_PUBLIC_API_URL=http://39.117.244.52:8080/api
  1. 백엔드 서버가 포트 3000에서 실행되고 있는지 확인
  2. Next.js 개발 서버는 포트 9771에서 실행

파일 미리보기 문제 해결

파일 미리보기에서 CORS 오류가 발생하는 경우:

  1. 백엔드 서버가 정상 실행 중인지 확인
  2. Next.js rewrites 설정이 올바른지 확인 (next.config.mjs)
  3. 환경변수 NEXT_PUBLIC_API_URL이 올바르게 설정되었는지 확인

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.