문서를 수정하려면 로그인이 필요합니다.

PDF Split Rotate Select Print Save 툴 소개

최근 수정 시각: 2026-03-09 12:32:14

PDF 분할 및 순서 변경 도구

Tauri + React 기반의 로컬 PDF 페이지 선택/재배치/저장 데스크톱 앱입니다.

프로젝트 주소 : https://github.com/turbobit/PDF_Split_Rotate_Select_Save

image.png

최신 업데이트 (v0.1.4)

  • 선택 페이지 기반 임시 PDF 인쇄를 추가해 여러 페이지 인쇄와 가로/세로 혼합 페이지 인쇄를 안정적으로 지원합니다.
  • 본문 미리보기 자동 포커스, 공용 키보드 단축키, 툴바 단축키 힌트를 추가해 키보드 작업 흐름을 개선했습니다.
  • PDF를 처음 열면 전체 페이지가 기본 선택되도록 변경했습니다.
  • 앱 창이 마지막 종료 시점의 크기/최대화 상태로 다시 열리도록 개선했고, 중복 실행이나 외부 파일 열기 흐름에도 같은 창 상태 복원을 적용했습니다.

주요 기능

  • PDF 열기 및 썸네일 가상 스크롤 미리보기
  • 페이지 선택 방식:
    • 체크박스
    • 빠른 입력 (1,3,5-9)
    • 범위 추가/제외
  • 새 PDF를 열면 전체 페이지가 기본 선택 상태로 시작
  • 왼쪽 썸네일 드래그앤드랍으로 페이지 순서 변경
  • 썸네일 체크박스 옆 휴지통 버튼으로 선택 해제
  • 페이지 회전(왼쪽/오른쪽)
  • 미리보기 확대/축소(-, +, 맞춤)
  • 선택 페이지 인쇄
  • 다른 PDF를 현재 문서에 추가:
    • 앞쪽/뒤쪽 삽입 선택
    • 추가 페이지 범위 선택 (1-3, 5, 9)
  • 선택 페이지 저장:
    • PDF (<원본명>_<UUID>_selected.pdf)
    • PNG/JPG (선택 페이지별 파일 저장)
  • 주요 버튼에 아이콘과 단축키 힌트 표시
  • 열기/추가/병합/닫기/인쇄/저장/선택/페이지 이동/회전 단축키 지원
  • 한국어/영어 UI 전환

기술 스택

  • Tauri 2
  • React 19 + TypeScript
  • Vite
  • pdf-lib (PDF 병합/복사/저장)
  • pdfjs-dist (미리보기/썸네일 렌더링)

개발 환경 준비

  • Node.js 18 이상(권장: 최신 LTS)
  • Rust 툴체인(Tauri 데스크톱 빌드용)

실행 방법

의존성 설치:

npm install

웹 개발 서버:

npm run dev

Tauri 데스크톱 개발 실행:

npm run tauri dev

프론트엔드 빌드:

npm run build

데스크톱 앱 빌드:

npm run tauri build

릴리스 생성/업로드:

npm run release

릴리스 스크립트 동작:

  • 태그 자동 동기화 (git fetch --tags --force)
  • 로컬 v<version> 태그가 없으면 HEAD에 자동 생성
  • 원격 태그가 없으면 origin에 자동 푸시
  • 같은 버전 태그가 이전 커밋을 가리키면 동일 버전 업데이트 모드로 동작:
    • v<version>..HEAD 커밋 메시지를 릴리스 노트에 반영
    • 기존 릴리스 첨부파일 삭제 후 새 빌드 산출물 재업로드

프로젝트 구조

  • src/App.tsx: 메인 UI 및 PDF 처리 로직
  • src/App.css: 스타일
  • src-tauri/: Tauri(Rust) 데스크톱 래퍼

참고

  • 모든 PDF 처리 작업은 로컬에서 수행됩니다.
  • 대용량 PDF는 썸네일 가상화/큐 렌더링으로 처리합니다.
  • 저장 시 선택 페이지는 현재 썸네일 재정렬 순서를 따릅니다.
  • 인쇄 시에도 현재 선택 순서와 페이지별 회전 상태가 그대로 반영됩니다.
  • 다음 실행 시 앱 창은 마지막 크기와 최대화 상태를 복원합니다.

English README

문서를 수정하려면 로그인이 필요합니다.