CLI Office Oxide — Inicio Rápido
office-oxide es una herramienta de línea de comandos para procesar documentos del Office de forma rápida y local. Comparte el mismo núcleo Rust que la librería — sin nube, sin dependencias.
Instalación
Cargo (cualquier plataforma):
cargo install office_oxide_cli
cargo-binstall (binario precompilado):
cargo binstall office_oxide_cli
Desde el source:
git clone https://github.com/yfedoseev/office_oxide
cd office_oxide
cargo install --path crates/office_oxide_cli
El binario instalado se llama office-oxide.
Inicio Rápido
# Extraer texto plano
office-oxide text report.docx
# Convertir a Markdown
office-oxide markdown data.xlsx -o data.md
# Convertir a HTML
office-oxide html slides.pptx -o slides.html
# Volcar el IR independiente del formato como JSON
office-oxide ir document.docx -o document.ir.json
# Convertir DOC heredado a DOCX moderno
office-oxide convert old.doc modern.docx
Lista completa de flags con office-oxide --help; por comando, office-oxide <command> --help.
Comandos
| Comando | Descripción |
|---|---|
text |
Extrae texto UTF-8 plano |
markdown |
Convierte a Markdown estilo GitHub |
html |
Convierte a HTML semántico |
ir |
Vuelca el IR independiente del formato como JSON |
convert |
Convierte entre formatos (heredado → OOXML, OOXML → OOXML) |
info |
Muestra formato, conteo de páginas/hojas/diapositivas y metadatos |
Todos los comandos aceptan los seis formatos soportados: .docx, .xlsx, .pptx, .doc, .xls, .ppt.
Opciones globales
-o, --output <PATH> Archivo de salida (por defecto stdout en salidas de texto)
-v, --verbose Mostrar info de tiempo
-q, --quiet Suprimir salida no esencial
--json Empaqueta la salida en un sobre JSON
Ejemplos
Extraer texto de una hoja de cálculo:
office-oxide text quarterly.xlsx
Migrar en paralelo un corpus de .doc heredados:
find legacy/ -iname '*.doc' | \
parallel 'office-oxide convert {} modern/{/.}.docx'
Convertir una presentación para un pipeline LLM:
office-oxide markdown deck.pptx -o deck.md
Inspeccionar un archivo:
office-oxide info mystery.bin
# format: xlsx, sheets: 4, named_ranges: 12, ...
Encadenar con jq:
office-oxide ir report.docx | jq '.sections[].title'
stdin / stdout
text, markdown, html y ir escriben por defecto en stdout — ideal para pipelines:
office-oxide text report.docx | grep -i "executive summary"
Con --output, el resultado va a ese archivo.
Véase también
- Crate Rust — el mismo motor como librería
- Servidor MCP — da el mismo toolkit a asistentes de IA
- Benchmarks de rendimiento