브라우저에서 100% 로컬로 작동하는 강력한 PDF 도구
PDF Wizard는 사용자의 브라우저에서 완전히 작동하는 프라이버시 중심의 PDF 처리 도구입니다. 서버로 파일을 업로드하지 않고 모든 작업이 로컬에서 처리되어 완벽한 보안과 프라이버시를 제공합니다.
- PDF 병합: 여러 PDF 파일을 하나로 결합
- PDF 분할: PDF의 개별 페이지를 분리하여 재구성
- 이미지 변환: JPG, PNG, HEIC 등 다양한 이미지 형식을 PDF로 변환
- 페이지 재정렬: 드래그 앤 드롭으로 페이지 순서 변경
- 페이지 그룹화: 같은 PDF에서 분리된 페이지들을 그룹으로 관리
- 썸네일 미리보기: 각 페이지의 고품질 썸네일 생성 및 표시
- 다국어 지원: 한국어/영어 자동 감지 및 지원
- PWA 지원: 오프라인 모드 및 앱 설치 가능
- 다크 모드: 시스템 테마에 따른 자동 전환
- 100% 클라이언트 사이드 처리: 서버 업로드 없이 브라우저에서 모든 작업 수행
- 반응형 디자인: 모바일, 태블릿, 데스크톱 모든 환경 지원
- 터치 제스처 지원: 모바일 환경에서 드래그 앤 드롭 최적화
- Service Worker: 오프라인 작동 및 캐싱 전략 구현
- SEO 최적화: 메타데이터, 구조화된 데이터, 사이트맵 제공
- Next.js 15.5.2: React 프레임워크 (Turbopack 지원)
- React 19.1.0: UI 라이브러리
- TypeScript 5: 타입 안정성
- Tailwind CSS 4: 유틸리티 기반 스타일링
- pdf-lib 1.17.1: PDF 생성 및 조작
- pdfjs-dist 5.4.149: PDF 렌더링 및 파싱
- @dnd-kit: 드래그 앤 드롭 기능 구현
- @dnd-kit/core 6.3.1
- @dnd-kit/sortable 10.0.0
- @dnd-kit/utilities 3.2.2
- heic2any 0.0.4: HEIC 이미지 변환
- next-pwa 5.6.0: PWA 기능 구현
- @vercel/analytics 1.5.0: 사용 분석
PDF-Wizard/
├── app/ # Next.js 앱 디렉토리
│ ├── page.tsx # 메인 페이지
│ ├── layout.tsx # 루트 레이아웃
│ └── sitemap.xml/ # 동적 사이트맵 생성
├── components/ # React 컴포넌트
│ ├── PDFMerger.tsx # 메인 PDF 처리 컴포넌트
│ ├── FileUploader.tsx # 파일 업로드 UI
│ ├── FileItem.tsx # 파일 아이템 컴포넌트
│ ├── PDFSettingsModal.tsx # PDF 설정 모달
│ ├── ZoomableThumbnail.tsx # 확대 가능한 썸네일
│ ├── PWAInstall.tsx # PWA 설치 프롬프트
│ ├── OfflineIndicator.tsx # 오프라인 상태 표시
│ └── ServiceWorkerManager.tsx # SW 관리
├── utils/ # 유틸리티 함수
│ ├── pdfUtils.ts # PDF 처리 로직
│ ├── i18n.ts # 다국어 지원
│ └── generateIcons.js # 아이콘 생성 스크립트
└── public/ # 정적 파일
├── manifest.json # PWA 매니페스트
└── service-worker.js # 서비스 워커
- Node.js 18.0.0 이상
- npm 또는 yarn
# 의존성 설치
npm install
# 개발 서버 실행 (Turbopack 사용)
npm run dev
# 프로덕션 빌드
npm run build
# 프로덕션 서버 실행
npm start
# 린트 실행
npm run lint특별한 환경 변수 설정이 필요하지 않습니다. 모든 기능이 클라이언트 사이드에서 작동합니다.
- ✅ 기본 PDF 병합 기능
- ✅ 파일 업로드 인터페이스
- ✅ 드래그 앤 드롭 구현
- ✅ PDF 페이지 분할
- ✅ 이미지를 PDF로 변환
- ✅ 페이지 재정렬
- ✅ 썸네일 미리보기
- ✅ Service Worker 구현
- ✅ 오프라인 모드 지원
- ✅ PWA 설치 가능
- ✅ 캐싱 전략 구현
- ✅ 모바일 드래그 앤 드롭 최적화
- ✅ 반응형 디자인 개선
- ✅ 다크 모드 지원
- ✅ 다국어 지원 (한국어/영어)
- ✅ 메타데이터 최적화
- ✅ 구조화된 데이터 추가
- ✅ 사이트맵 생성
- ✅ Vercel Analytics 통합
- PDF 페이지 회전 기능
- PDF 압축 기능
- 워터마크 추가 기능
- 배치 처리 기능
- 더 많은 언어 지원 (일본어, 중국어 등)
- PDF 암호화/복호화
- PDF 양식 채우기
- OCR 텍스트 인식
- PDF to Word/Excel 변환
- 클라우드 저장소 연동 (선택적)
- 협업 기능 (링크 공유)
- 템플릿 시스템
- API 제공
- 브라우저 확장 프로그램
- 데스크톱 앱 (Electron)
- 로컬 처리: 모든 파일 처리가 사용자의 브라우저에서만 수행됩니다
- 서버 업로드 없음: 파일이 서버로 전송되지 않습니다
- 데이터 수집 없음: 사용자 파일이나 내용을 수집하지 않습니다
- 분석 도구: Vercel Analytics를 통한 익명 사용 통계만 수집
프로젝트에 기여를 환영합니다! 다음 절차를 따라주세요:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
- techniflows - https://www.techniflows.com
이 프로젝트는 다음 오픈소스 프로젝트들의 도움으로 만들어졌습니다:
- Next.js 팀의 훌륭한 프레임워크
- pdf-lib와 pdfjs-dist 개발자들
- @dnd-kit 팀의 드래그 앤 드롭 라이브러리
- 모든 오픈소스 기여자들
최종 업데이트: 2025년 9월 12일