# doc2md **Repository Path**: lixjun/doc2md ## Basic Information - **Project Name**: doc2md - **Description**: doc2md 是一个跨平台桌面应用(Rust + Tauri v2),用于将 Word (.docx) 和 Excel (.xlsx/.xls/.xlsm/.xlsb) 文件转换为 Markdown。 核心特点: - 双模式运行:支持 CLI 命令行和 GUI 图形界面两种模式 - 自定义解析器:自行实现了 DOCX 解析器(不依赖第三方库),能处理段落、表格、图片、超链接 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-25 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📄 doc2md 一个快速、轻量级的工具,将 Word (.docx) 和 Excel (.xlsx/.xls/.xlsm/.xlsb) 文档转换为 Markdown。 ## 功能特性 - **高保真 Word 转换** — 标题、粗体/斜体/下划线、列表、表格、图片、链接、脚注、代码块、引用 - **Excel 转 Markdown 表格** — 每个工作表转换为整洁的 Markdown 表格 - **跨平台** — Windows & macOS - **轻量级** — Rust + Tauri,~5-15MB 二进制文件 - **快速** — 原生 Rust 解析,无外部依赖 - **双模式** — CLI 命令行 + GUI 图形界面 - **批量转换** — 支持拖拽多个文件,最多 3 个并行转换 - **主题切换** — 支持亮色/暗色主题 - **转换历史** — 记录最近 50 次转换 - **系统通知** — 转换完成时通知用户 - **键盘快捷键** — Enter 转换,Esc 关闭对话框 ## Installation ### Download Binary Download the latest release for your platform from the [Releases](#) page. ### Build from Source ```bash # Prerequisites: Rust toolchain + Tauri CLI cargo install tauri-cli # Clone and build git clone https://github.com/yourname/doc2md.git cd doc2md/src-tauri cargo tauri build ``` ## CLI Usage ```bash # Convert a single file doc2md document.docx doc2md spreadsheet.xlsx # Specify output path doc2md document.docx -o output.md # Batch convert a directory doc2md ./docs/ -r # Convert specific Excel sheet doc2md data.xlsx --sheet "Sales" ``` ## GUI Usage ```bash # Launch GUI doc2md --gui ``` Or just double-click the app icon. ### 功能: - 拖拽文件 - 批量转换(最多 3 个并行) - 实时预览(Markdown / 渲染) - 进度跟踪 + ETA 预估 - 转换历史记录 - 系统通知 - 主题切换(亮色/暗色) - 键盘快捷键 ## Supported Formats | Format | Extension | Features | |--------|-----------|----------| | Word | `.docx` | Headings, lists, tables, images, links, footnotes, code blocks, bold/italic/underline/strikethrough | | Excel | `.xlsx`, `.xls`, `.xlsm`, `.xlsb` | All sheets → Markdown tables | ## Architecture ``` doc2md/ ├── src-tauri/ # Rust backend │ └── src/ │ ├── docx_parser/ # Word document parser (XML → DOM) │ ├── converters/ # docx/xlsx → Markdown │ ├── markdown/ # Markdown formatter │ ├── cli.rs # CLI interface │ └── commands.rs # Tauri IPC commands └── src/ # Frontend (vanilla HTML/CSS/JS) ``` ## Tech Stack - **Rust** — core parsing & conversion - **Tauri v2** — GUI framework (~5-15MB vs Electron's ~100MB+) - **calamine** — Excel parsing - **roxmltree** — XML parsing - **clap** — CLI argument parsing ## License MIT