본문으로 건너뛰기
yutils
예시

입력 (PDF + 페이지 범위)

파일: ebook.pdf (200 페이지)
범위: 1-80, 81-153

출력

ebook-pages-1-80.pdf (80 페이지)
ebook-pages-81-153.pdf (73 페이지)
→ 각각 다운로드 또는 ZIP 일괄

참고

쉼표 = 별도 파일. 한 그룹이 여러 페이지를 가지려면 `1-3` 처럼 범위 사용. 원본 PDF 의 폰트·레이아웃 보존.

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • 긴 PDF 에서 필요한 챕터·페이지만 추출
  • 이메일 · 슬랙에 PDF 일부만 공유 (용량 절감)
  • 법무 문서의 특정 조항만 발췌
  • 교재 · 논문의 특정 섹션만 인쇄용 PDF 생성
  • 보고서의 요약 · 부록 등 부분 추출

자주 묻는 질문

Q.페이지 범위 문법은?
A.`1-3,5,7-9` 형식 — 쉼표로 범위 구분, 하이픈으로 시작-끝 표시. 공백은 무시됩니다. 잘못된 범위는 즉시 에러로 표시.
Q.역순 추출도 되나요?
A.본 도구는 입력 순서 그대로 추출합니다 — `5-1` 같은 역순은 지원 안 함. 역순이 필요하면 별도 도구가 필요.
Q.원본 PDF 가 보존되나요?
A.원본 파일은 그대로 — 새 PDF 가 따로 생성됩니다. 페이지 단위로 복사되므로 폰트 · 이미지 · 링크는 보존되지만 양식(form field) 같은 인터랙티브 요소는 일부 제한될 수 있어요.
재미있는 사실
  • PDF 의 page object 는 독립적 — 각 페이지가 자기의 resource (폰트·이미지·content stream) 참조. 그래서 페이지 추출이 '복사 + reference 갱신' 만으로 가능, 재렌더 X. 100 페이지 중 1 페이지만 뽑아도 화질 손실 0.

    ISO 32000-1 §7.7
  • pdf-lib (이 도구가 사용) 는 순수 JavaScript — 다른 PDF 라이브러리 (PDFKit · PoDoFo 등) 대부분 native 의존인 것과 대비. 그래서 server 없이 브라우저에서 직접 동작.

    pdf-lib
  • PDF 의 linearized (Fast Web View) 옵션 — 페이지 단위로 streaming 가능하게 재정렬. 전체 다운로드 전에 첫 페이지 표시 가능. 다만 분할/병합 후엔 보통 linearized 깨짐 — 큰 PDF 호스팅 시 linearize 도구로 재처리.

    Wikipedia — Linearized PDF