Skip to content

CLI Office Oxide — Início Rápido

office-oxide é uma ferramenta de linha de comando rápida e local para processar documentos do Office. Ela usa o mesmo núcleo Rust da biblioteca — zero nuvem, zero dependências.

Instalação

Cargo (qualquer plataforma):

cargo install office_oxide_cli

cargo-binstall (binário pré-compilado):

cargo binstall office_oxide_cli

A partir do source:

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

O binário instalado se chama office-oxide.

Início Rápido

# Extrair texto puro
office-oxide text report.docx

# Converter para Markdown
office-oxide markdown data.xlsx -o data.md

# Converter para HTML
office-oxide html slides.pptx -o slides.html

# Despejar o IR independente de formato como JSON
office-oxide ir document.docx -o document.ir.json

# Converter DOC legado em DOCX moderno
office-oxide convert old.doc modern.docx

Todas as flags em office-oxide --help; por comando, office-oxide <command> --help.

Comandos

Comando Descrição
text Extrai texto UTF-8 puro
markdown Converte para Markdown estilo GitHub
html Converte para HTML semântico
ir Despeja o IR independente de formato como JSON
convert Converte entre formatos (legado → OOXML, OOXML → OOXML)
info Mostra formato, contagem de páginas/planilhas/slides e metadados

Todos os comandos aceitam os seis formatos suportados: .docx, .xlsx, .pptx, .doc, .xls, .ppt.

Opções globais

-o, --output <PATH>   Arquivo de saída (padrão stdout para saídas de texto)
-v, --verbose         Mostra info de tempo
-q, --quiet           Suprime saída não essencial
    --json            Empacota a saída em um envelope JSON

Exemplos

Extrair texto de uma planilha:

office-oxide text quarterly.xlsx

Migrar em paralelo um corpus de .doc legados:

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

Converter um deck para um pipeline de LLM:

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

Inspecionar um arquivo:

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

Pipeline com jq:

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

stdin / stdout

text, markdown, html e ir escrevem no stdout por padrão — útil para pipelines:

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

Com --output, o resultado vai para esse arquivo.

Veja também