브라우저 기반 PDF 변환기를 만들어 민감한 파일을 무작위 사이트에 업로드하는 것을 막았습니다
Source: Dev.to
Overview
100번째에 가까운 민감한 계약서를 “무료” PDF 사이트에 올린 뒤, 파일이 어디로 가는지 전혀 알 수 없다는 사실을 깨달았습니다. 문서를 비공개로 유지하기 위해 BunnyConvert 라는 24가지 PDF 도구 모음을 만들었습니다. 이 도구들은 모두 JavaScript를 사용해 브라우저 안에서만 실행됩니다.
Features
- Sign PDF – 필기체 폰트, 드래그‑투‑포지션 서명 배치 (터치 + 마우스)
- Merge / Split / Compress / Rotate PDFs
- Convert JPG/PNG/HEIC → PDF
- Export PDF → Word / Excel / PowerPoint / Image
- Watermark, Protect, Unlock PDFs
- Image Resize 및 CSV ↔ JSON 변환
- Vanilla JS 프론트엔드 (React/Vue 없음)
Technical Details
- pdf-lib 를 사용한 PDF 조작
- pdf.js 로 브라우저에서 PDF 렌더링
- heic2any 로 HEIC 디코딩
- Capacitor 로 Android 래퍼 구현
- Supabase 로 옵트‑아웃 분석(사용자가 동의하지 않으면 데이터 전송 없음)
모든 처리는 클라이언트‑사이드에서 이루어지며, 파일이 서버에 전송되는 일은 없습니다. DevTools Network 탭에서 확인하면 외부 파일 요청이 전혀 없음을 볼 수 있습니다.
Notable Challenges
pdf-lib의StandardFonts가 터키어 문자를 지원하지 않아 커스텀 TTF를 임베드했습니다.- 바닐라 JS 로 DocuSign과 같은 서명 배치를 구현하려면 터치와 마우스 드래그 이벤트를 모두 처리해야 했습니다.
- AdMob 프로덕션 승인 절차가 “제한된 광고 제공” 정책 때문에 신규 퍼블리셔에게 2–4 주 정도 걸릴 수 있습니다.
Privacy
모든 작업이 로컬에서 수행되므로 문서는 기기 내에만 남습니다. 네트워크 활동은 선택적인 분석만 발생하며, 언제든 비활성화할 수 있습니다.
Pricing
- Free tier – 제한된 사용량을 위한 일일 크레딧 제공.
- Pro tier – 무제한 변환 및 모바일에서 광고 없이 이용할 수 있는 $4.99 / 월 플랜.
Links
- Web app: