Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pdf2img

PDF 파일의 모든 페이지를 PNG 이미지로 변환합니다.
모든 처리는 기기 내에서 완결 — 서버 전송 없음, 인터넷 연결 불필요.


방법 1 — 웹 앱 (iPhone · iPad · 모든 브라우저)

web/index.html 을 열면 됩니다. PDF.js로 브라우저 안에서만 렌더링하므로 파일이 기기 밖으로 나가지 않습니다.

iPhone / iPad (Safari)

  1. Safari에서 web/index.html 열기
    (GitHub Pages를 통해 접근하거나, 맥/PC에서 로컬 서버를 띄워 접속)
  2. 홈 화면에 추가 → 앱처럼 사용 가능 (PWA)
  3. PDF 파일 선택 → 해상도 설정 → 변환 시작
  4. 페이지별 저장 버튼: 공유 시트(사진 앱·파일 앱·AirDrop 등)로 저장
    ZIP 저장 버튼: 전 페이지를 하나의 ZIP으로 파일 앱에 저장

iOS 15 이상에서 Web Share API를 통해 직접 저장됩니다.
그 이하 버전에서는 다운로드 링크로 대체됩니다.

배포 (무료 호스팅)

서비스 무료 여부 방법
Vercel 영구 무료 아래 참조
Netlify 영구 무료 아래 참조
Railway $5 크레딧 후 유료 Dockerfile 자동 인식
Render 영구 무료 (Static) Dockerfile 또는 Static Site

Vercel (권장)

  1. vercel.com → Import Git Repository → 이 저장소 선택
  2. 추가 설정 없음 — vercel.json이 자동 적용됨
  3. Push 할 때마다 자동 재배포

Netlify

  1. netlify.com → Add new site → Import from Git
  2. Build command: 비워두기, Publish directory: web
  3. netlify.toml이 자동 적용됨

Railway / Render / 기타 Docker 플랫폼

저장소 루트의 Dockerfile(nginx)을 자동 인식합니다. 별도 설정 불필요.

로컬 서버로 띄우기 (macOS / Linux / Windows)

# Python
cd web
python -m http.server 8080
# → Safari에서 http://[맥IP]:8080 접속

방법 2 — CLI (macOS · Windows · Linux)

요구사항

  • 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)

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages