Skip to content

Office Oxide CLI — швидкий старт

office-oxide — це інструмент командного рядка для швидкої локальної обробки документів Office. Він постачається з тим самим Rust-ядром, що і бібліотека — жодної хмари, жодних залежностей.

Встановлення

Cargo (будь-яка платформа):

cargo install office_oxide_cli

cargo-binstall (готовий бінарник):

cargo binstall office_oxide_cli

Із джерел:

git clone https://github.com/yfedoseev/office_oxide
cd office_oxide
cargo install --path crates/office_oxide_cli

Встановлений бінарник називається office-oxide.

Швидкий старт

# Видобути звичайний текст
office-oxide text report.docx

# Сконвертувати в Markdown
office-oxide markdown data.xlsx -o data.md

# Сконвертувати в HTML
office-oxide html slides.pptx -o slides.html

# Вилити формат-незалежний IR як JSON
office-oxide ir document.docx -o document.ir.json

# Сконвертувати legacy DOC → сучасний DOCX
office-oxide convert old.doc modern.docx

Повний список прапорців — office-oxide --help, для конкретної команди — office-oxide <command> --help.

Команди

Команда Опис
text Видобуває UTF-8 текст
markdown Конвертує в GitHub Flavored Markdown
html Конвертує в семантичний HTML
ir Виливає формат-незалежний IR як JSON
convert Конвертація між форматами (legacy → OOXML, OOXML → OOXML)
info Показує формат, кількість сторінок/листів/слайдів і метадані

Усі команди приймають будь-який із шести підтримуваних форматів: .docx, .xlsx, .pptx, .doc, .xls, .ppt.

Глобальні опції

-o, --output <PATH>   Вихідний файл (за замовчуванням stdout для текстових виводів)
-v, --verbose         Показати тайминги
-q, --quiet           Прибрати несуттєвий вивід
    --json            Обгорнути вивід у JSON-конверт

Приклади

Видобути текст із таблиці:

office-oxide text quarterly.xlsx

Паралельно мігрувати legacy .doc корпус:

find legacy/ -iname '*.doc' | \
  parallel 'office-oxide convert {} modern/{/.}.docx'

Сконвертувати презентацію для LLM-пайплайна:

office-oxide markdown deck.pptx -o deck.md

Перевірити файл:

office-oxide info mystery.bin
# format: xlsx, sheets: 4, named_ranges: 12, ...

Прокинути через jq:

office-oxide ir report.docx | jq '.sections[].title'

stdin / stdout

text, markdown, html та ir за замовчуванням пишуть у stdout — зручно для пайплайнів:

office-oxide text report.docx | grep -i "executive summary"

З --output результат пишеться у вказаний файл.

Дивіться також