PDF 파일의 모든 페이지를 PNG 이미지로 변환합니다.
모든 처리는 기기 내에서 완결 — 서버 전송 없음, 인터넷 연결 불필요.
web/index.html 을 열면 됩니다. PDF.js로 브라우저 안에서만 렌더링하므로 파일이 기기 밖으로 나가지 않습니다.
- Safari에서
web/index.html열기
(GitHub Pages를 통해 접근하거나, 맥/PC에서 로컬 서버를 띄워 접속) - 홈 화면에 추가 → 앱처럼 사용 가능 (PWA)
- PDF 파일 선택 → 해상도 설정 → 변환 시작
- 페이지별 저장 버튼: 공유 시트(사진 앱·파일 앱·AirDrop 등)로 저장
ZIP 저장 버튼: 전 페이지를 하나의 ZIP으로 파일 앱에 저장
iOS 15 이상에서 Web Share API를 통해 직접 저장됩니다.
그 이하 버전에서는 다운로드 링크로 대체됩니다.
| 서비스 | 무료 여부 | 방법 |
|---|---|---|
| Vercel | 영구 무료 | 아래 참조 |
| Netlify | 영구 무료 | 아래 참조 |
| Railway | $5 크레딧 후 유료 | Dockerfile 자동 인식 |
| Render | 영구 무료 (Static) | Dockerfile 또는 Static Site |
- vercel.com → Import Git Repository → 이 저장소 선택
- 추가 설정 없음 —
vercel.json이 자동 적용됨 - Push 할 때마다 자동 재배포
- netlify.com → Add new site → Import from Git
- Build command: 비워두기, Publish directory:
web netlify.toml이 자동 적용됨
저장소 루트의 Dockerfile(nginx)을 자동 인식합니다. 별도 설정 불필요.
# Python
cd web
python -m http.server 8080
# → Safari에서 http://[맥IP]:8080 접속- Python 3.9 이상
- PyMuPDF (외부 시스템 패키지 불필요)
pip install -r requirements.txt# 기본 사용 (PDF와 같은 폴더에 PNG 저장)
python pdf2img.py document.pdf
# 출력 폴더 지정
python pdf2img.py document.pdf -o ./output
# 해상도 지정 (기본 150 dpi / 인쇄 품질은 300 dpi 권장)
python pdf2img.py document.pdf --dpi 300
# 여러 파일 한 번에 변환
python pdf2img.py *.pdf -o ./output페이지 수에 맞게 zero-padding 적용.
document.pdf → document_01.png, document_02.png, ...
report.pdf → report_001.png, report_002.png, ... (100페이지 이상인 경우)
| 플랫폼 | 방법 |
|---|---|
| iPhone / iPad | 웹 앱 (Safari) |
| macOS | CLI 또는 웹 앱 |
| Windows | CLI 또는 웹 앱 |
| Linux | CLI 또는 웹 앱 |
| Android | 웹 앱 (Chrome) |