pdf-oxide CLI — 터미널에서 가장 빠른 PDF 툴킷
pdf-oxide는 로컬 PDF 처리를 위한 명령줄 도구입니다. 라이브러리와 동일한 Rust 코어를 사용하며, 클라우드나 시스템 의존성이 필요 없습니다. text·markdown부터 compress·encrypt·watermark까지 총 23개 명령어를 제공합니다.
빠른 설치 (권장)
명령어 하나로 OS와 아키텍처를 자동 감지합니다.
Linux / macOS
curl -fsSL oxide.fyi/install.sh | sh
Windows (PowerShell)
irm oxide.fyi/install.ps1 | iex
다른 설치 방법
Homebrew (macOS / Linux)
brew install yfedoseev/tap/pdf-oxide
Cargo
cargo install pdf_oxide_cli
cargo-binstall (사전 빌드된 바이너리)
cargo binstall pdf_oxide_cli
사전 빌드된 바이너리
GitHub Releases에서 내려받아 PATH가 잡힌 디렉터리에 두세요.
빠른 시작
# 텍스트 추출
pdf-oxide text document.pdf
# Markdown으로 변환
pdf-oxide markdown document.pdf -o output.md
# HTML로 변환
pdf-oxide html document.pdf -o output.html
# PDF 정보 표시 (페이지 수, 메타데이터, 암호화 여부)
pdf-oxide info document.pdf
# 텍스트 검색 (정규식 지원)
pdf-oxide search document.pdf "pattern"
명령어 목록
| 명령어 | 설명 | 주요 플래그 |
|---|---|---|
text |
일반 텍스트 추출 | --format plain|words|lines, --area x,y,w,h |
paths |
벡터 패스 추출 | --format json|rects|lines, --area x,y,w,h |
markdown |
Markdown으로 변환 | — |
html |
HTML로 변환 | — |
info |
메타데이터와 페이지 수 표시 | — |
search |
텍스트 검색(정규식) | -i (대소문자 무시), --pages |
images |
이미지 추출 | --area x,y,w,h, --pages |
render |
페이지를 PNG/JPEG로 렌더링 | --dpi N, --format png|jpeg, --quality N |
merge |
여러 PDF 병합 | (파일 2개 이상 필요) |
split |
페이지 단위로 분할 | — |
create |
Markdown/HTML/텍스트로 PDF 생성 | --from markdown|html|text |
compress |
압축 및 최적화 | — |
encrypt |
비밀번호로 암호화 (v0.4.0 예정 — 현재는 플레이스홀더) | — |
decrypt |
보호된 PDF 복호화 | --password PW |
rotate |
페이지 회전 | --degrees 90|180|270|-90 |
delete |
페이지 삭제 | --pages |
reorder |
페이지 순서 변경 | --order "3,1,2,5,4" |
metadata |
메타데이터 읽기·편집·삭제 | --title, --author, --subject, --keywords, --strip |
watermark |
텍스트 워터마크 추가 | --opacity 0.3, --rotation 45, --font-size 48, --color R,G,B |
bookmarks |
문서 목차 나열 | — |
flatten |
주석 또는 폼 평탄화 | --forms, --annotations |
crop |
페이지 여백 자르기 | --margins L,R,T,B |
forms |
폼 필드 조회·입력·내보내기 | --fill "k=v,…", --export fdf|xfdf, --area x,y,w,h |
총 23개 명령어. 각 명령어의 전체 플래그 문서는 pdf-oxide <command> --help로 확인할 수 있습니다.
전역 옵션
-o, --output <PATH> 출력 파일 (텍스트 출력은 기본적으로 stdout)
-p, --pages <RANGE> 페이지 범위: "1-5", "1,3,7", "1-3,7,10-12"
--password <PW> 암호화된 PDF의 비밀번호
-v, --verbose 처리 시간 정보 표시
-q, --quiet 불필요한 출력 억제
-j, --json JSON 형식으로 출력
--no-banner REPL 배너 건너뛰기
사용 예
1~5페이지를 Markdown으로 추출:
pdf-oxide markdown report.pdf --pages 1-5 -o report.md
세 개의 PDF 병합:
pdf-oxide merge cover.pdf body.pdf appendix.pdf -o combined.pdf
워터마크 추가:
pdf-oxide watermark contract.pdf "DRAFT" --opacity 0.2 --font-size 72
폼 필드 채우기:
pdf-oxide forms application.pdf --fill "name=Jane Doe,date=2026-02-28" -o filled.pdf
대소문자 무시 정규식 검색:
pdf-oxide search paper.pdf "neural.?network" -i
1페이지를 300 DPI PNG로 렌더링:
pdf-oxide render report.pdf --dpi 300 --format png --pages 1 -o page1.png
회로도의 벡터 패스를 JSON으로 추출:
pdf-oxide paths schematic.pdf --format json -o paths.json
대화형 REPL
인수 없이 pdf-oxide를 실행하면 대화형 모드로 진입합니다.
$ pdf-oxide
pdf-oxide> text /path/to/doc.pdf
(추출된 텍스트가 표시됩니다)
pdf-oxide> info /path/to/doc.pdf
(메타데이터가 표시됩니다)