Show HN: udoc. Dependency-free document extraction in Rust
udoc is a dependency-free document extraction tool developed in Rust. It supports various document formats and allows users to extract text, tables, and JSON without needing external libraries. The tool offers a command-line interface and Python bindings, making it accessible for different use cases.
- ▪udoc can extract content from formats such as PDF, DOCX, XLSX, and Markdown.
- ▪It features a streaming capability that allows processing large documents without loading them entirely into memory.
- ▪The tool provides hooks for OCR and layout detection, enhancing its extraction capabilities.
Opening excerpt (first ~120 words) tap to expand
Overview Dependency free extraction from documents. Extract text, tables, JSON, or rendered pages. CLI, Python Bindings, Pure Rust. No external parsers, libraries, or system packages are required. Provides hooks for OCR, layout detection, and entity extraction. Permissively licensed as dual MIT / Apache-2.0. Supports PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, ODT, ODS, ODP, RTF, and Markdown. Try it out using uv, no install required: curl -sL https://arxiv.org/pdf/1706.03762 \ | uvx udoc - | grep -A 18 '^Abstract' Installation¶ # uv uv add udoc # pip pip install udoc # cargo (coming soon) To build from source, see Compiling from source. Highlights¶ One Document model across formats. A content spine of Block and Inline nodes, plus optional presentation, relationships, and interactions overlays.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Github.