dm2xcod

Crates.iodm2xcod
lib.rsdm2xcod
version0.2.2
created_at2026-01-23 00:58:22.827918+00
updated_at2026-01-25 23:33:47.888417+00
descriptionDOCX to Markdown converter written in Rust
homepagehttps://github.com/KimSeogyu/dm2xcod
repositoryhttps://github.com/KimSeogyu/dm2xcod
max_upload_size
id2063104
size1,334,865
Kim Seogyu (KimSeogyu)

documentation

https://docs.rs/dm2xcod

README

dm2xcod

PyPI License: MIT

DOCX to Markdown converter. Written in Rust with Python bindings.

Features

  • Converts .docx files to Markdown format
  • Preserves heading hierarchy, text formatting (bold, italic, underline), tables, and images
  • Handles DOCX numbering (ordered/unordered lists)
  • Korean heading localization support (--lang ko)

Requirements

  • Rust 1.75+
  • Python 3.12+ (for Python bindings)

Installation

Python

pip install dm2xcod

Rust

[dependencies]
dm2xcod = "0.1"

CLI

cargo install dm2xcod

Usage

Python

import dm2xcod

markdown = dm2xcod.convert_docx("document.docx")
print(markdown)

Rust

use dm2xcod::{DocxToMarkdown, ConvertOptions};

let converter = DocxToMarkdown::new(ConvertOptions::default());
let markdown = converter.convert("document.docx").unwrap();

CLI

dm2xcod input.docx output.md
dm2xcod input.docx --lang ko  # Korean heading localization

Build from Source

# Rust library
cargo build --release

# Python wheel
pip install maturin
maturin develop --features python

License

MIT

Commit count: 26

cargo fmt