pdf-oxide CLI — самый быстрый PDF-инструмент для терминала
pdf-oxide — инструмент командной строки для быстрой локальной обработки PDF. Использует то же Rust-ядро, что и библиотека — без облака и системных зависимостей. Всего 23 команды: от text и markdown до compress, encrypt и watermark.
Быстрая установка (рекомендуется)
Одна команда — ОС и архитектура определяются автоматически.
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 |
Искать текст (regex) | -i (без учёта регистра), --pages |
images |
Извлечь изображения | --area x,y,w,h, --pages |
render |
Рендерить страницы в PNG/JPEG | --dpi N, --format png|jpeg, --quality N |
merge |
Объединить несколько PDF | (не менее двух файлов) |
split |
Разбить PDF на отдельные страницы | — |
create |
Создать PDF из Markdown, HTML или текста | --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 <команда> --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
Поиск regex без учёта регистра:
pdf-oxide search paper.pdf "neural.?network" -i
Отрендерить первую страницу в PNG 300 DPI:
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
(появляются метаданные)