**task-2196 완료 보고** (dev2-team) **task-2196 완료 보고서** (28분 30초) **핵심 결과** react-signature-canvas + pdf-lib 기반으로 Phase 2 전체 6개 기능을 구현 완료. 서명 그리기(펜 색상/굵기 조절), 서명 이미지 업로드, 서명 PDF 삽입(좌표 변환 포함), 텍스트 오버레이(프리셋 포함), 이미지 오버레이, 폼 채우기(자동 감지)를 3개 신규 파일 + 1개 수정으로 구현. `npm run build` 성공, PdfEditor 청크 929KB. ## 작업 내용 ### 신규 파일 - `src/hooks/usePdfSignature.ts` (302줄) — 서명/오버레이/폼 로직 훅 - 오버레이 CRUD (addOverlay, updateOverlay, removeOverlay) - applyOverlaysToPdf: PDF에 서명/텍스트/이미지 삽입 (좌표 Y축 반전 변환) - detectFormFields: PDF 폼 필드 자동 감지 (TextField/CheckBox/Dropdown) - fillFormFields: 폼 값 설정 + flatten - `src/components/pdf-editor/SignaturePanel.tsx` (571줄) — 4탭 서명/오버레이 UI - 탭1 서명: react-signature-canvas 캔버스, 펜 색상 3종, 굵기 슬라이더, 이미지 업로드 - 탭2 텍스트: 입력/폰트크기/색상, 프리셋 (사본/확인완료/오늘날짜) - 탭3 이미지: PNG/JPG 업로드 + 미리보기 - 탭4 폼: 폼 필드 감지 + 타입별 입력 UI ### 수정 파일 - `src/pages/PdfEditor.tsx` (96 **발견/해결 이슈 3건** 1. **pdf-lib degrees() 타입 에러** — `{ type: 'degrees', angle }` 객체 직접 생성 시 TS 타입 불일치 → `degrees()` 헬퍼 함수 import로 해결 (`usePdfSignature.ts:5,246,265`) 2. **SignaturePanel totalPages 미사용 경고** — props 구조 분해에서 제외, 인터페이스는 유지 (`SignaturePanel.tsx:84`) 3. **JPG/PNG 이미지 판별** — dataUrl MIME 타입(`image/jpeg` vs `image/png`)으로 `embedJpg`/`embedPng` 자동 분기 (`usePdfSignature.ts:228-234`)