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

최신 업데이트 (v0.1.4)
- 선택 페이지 기반 임시 PDF 인쇄를 추가해 여러 페이지 인쇄와 가로/세로 혼합 페이지 인쇄를 안정적으로 지원합니다.
- 본문 미리보기 자동 포커스, 공용 키보드 단축키, 툴바 단축키 힌트를 추가해 키보드 작업 흐름을 개선했습니다.
- PDF를 처음 열면 전체 페이지가 기본 선택되도록 변경했습니다.
- 앱 창이 마지막 종료 시점의 크기/최대화 상태로 다시 열리도록 개선했고, 중복 실행이나 외부 파일 열기 흐름에도 같은 창 상태 복원을 적용했습니다.
주요 기능
- PDF 열기 및 썸네일 가상 스크롤 미리보기
- 페이지 선택 방식:
- 체크박스
- 빠른 입력 (
1,3,5-9) - 범위 추가/제외
- 새 PDF를 열면 전체 페이지가 기본 선택 상태로 시작
- 왼쪽 썸네일 드래그앤드랍으로 페이지 순서 변경
- 썸네일 체크박스 옆 휴지통 버튼으로 선택 해제
- 페이지 회전(왼쪽/오른쪽)
- 미리보기 확대/축소(
-,+, 맞춤) - 선택 페이지 인쇄
- 다른 PDF를 현재 문서에 추가:
- 앞쪽/뒤쪽 삽입 선택
- 추가 페이지 범위 선택 (
1-3, 5, 9)
- 선택 페이지 저장:
- PDF (
<원본명>_<UUID>_selected.pdf) - PNG/JPG (선택 페이지별 파일 저장)
- PDF (
- 주요 버튼에 아이콘과 단축키 힌트 표시
- 열기/추가/병합/닫기/인쇄/저장/선택/페이지 이동/회전 단축키 지원
- 한국어/영어 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는 썸네일 가상화/큐 렌더링으로 처리합니다.
- 저장 시 선택 페이지는 현재 썸네일 재정렬 순서를 따릅니다.
- 인쇄 시에도 현재 선택 순서와 페이지별 회전 상태가 그대로 반영됩니다.
- 다음 실행 시 앱 창은 마지막 크기와 최대화 상태를 복원합니다.