Markdown Format Converter Suite
md-to.com 的本地 CLI 复刻版 — 16 个工具,100% 本地运行,隐私安全、无需联网。
v2.0 — 架构重构:8 个 shared 模块 · 21 个数据正确性修复 · 84 个回归测试 · 美化增强
工具
输出
特性
速度
md-to-pdf
PDF (29 主题)
KaTeX 数学 + hljs 高亮 + 封面/页码/TOC
~3s
md-to-word
Word .doc
mso 命名空间样式, 表格/标题原生识别
<0.5s
md-to-html
HTML5
GitHub 风格 CSS, --theme dark 暗色模式
<0.5s
md-to-image
PNG / JPG
--scale 高 DPI, --watermark 水印, --padding
~2s
md-to-text
纯文本
代码块保护, 图片/链接顺序修正
<0.1s
md-to-latex
LaTeX .tex
CJK 自动检测 → ctexart, 特殊字符转义
<0.3s
md-to-rst
reStructuredText
动态标题下划线, 脚注 # 配对
<0.3s
md-to-confluence
Confluence wiki
***粗斜体*** 支持
<0.2s
工具
输入
特性
速度
html-to-md
HTML → MD
GFM 表格, 无 thead 表格处理
<0.3s
word-to-md
.docx → MD
GFM 表格 (P0-19 修复)
<1s
pdf-to-md
PDF → MD
--allow-empty 扫描件保护
<1s
工具
方向
特性
速度
csv-to-md
CSV → MD Table
RFC 4180, BOM, 引号内换行/分隔符
<0.1s
md-table-to-csv
MD Table → CSV
空 cell 保留, | 转义, RFC 4180 引号
<0.1s
json-to-md
JSON → MD Table
union 所有 keys, 对象/数组序列化
<0.1s
md-table-to-image
MD Table → PNG
KaTeX/hljs, browser-pool 复用
~2s
md-table-to-pdf
MD Table → PDF
KaTeX/hljs, browser-pool 复用
~2s
# 在项目根目录一次性安装所有依赖
npm install --ignore-scripts
--ignore-scripts 可跳过 Puppeteer 的 Chromium 自动下载(如已手动安装 Chromium)。
cd < tool-dir> && npm install
所有 16 个工具遵循统一 CLI:
node < tool-dir> /index.js convert -i < input> -o < output> [options]
# 列出 29 个主题
node md-to-pdf/index.js list
# 查看主题详情
node md-to-pdf/index.js info github-dark-sans-modern
# 转换(默认主题: github-dark-sans-modern-standard)
node md-to-pdf/index.js convert -i in.md -o out.pdf -t < theme-id>
# 预览 HTML(不生成 PDF)
node md-to-pdf/index.js convert -i in.md -o out.html
# 亮色主题(默认)
node md-to-html/index.js convert -i in.md -o out.html
# 暗色模式
node md-to-html/index.js convert -i in.md -o out.html --theme dark
# 基础转换
node md-to-image/index.js convert -i in.md -o out.png
# 高 DPI + 水印 + 自定义 padding/背景
node md-to-image/index.js convert -i in.md -o out.png \
--scale 2 --padding 40 --bg " #fafafa" --watermark " © 2026"
# 自动检测分隔符
node csv-to-md/index.js convert -i in.csv -o out.md
# 指定分隔符
node csv-to-md/index.js convert -i in.csv -o out.md -d ' ;'
node pdf-to-md/index.js convert -i in.pdf -o out.md
# 允许空输出(扫描版 PDF)
node pdf-to-md/index.js convert -i in.pdf -o out.md --allow-empty
范式
工具
引擎
marked → HTML
md-to-pdf / html / word / image
marked + katex + hljs
纯 regex 顺序替换
md-to-latex / rst / confluence / text
占位符保护 + 正则管线
反向转换
html-to-md / word-to-md / pdf-to-md
turndown / mammoth / pdf-parse
表格专用
csv-to-md / md-table-to-csv / json-to-md
shared/csv.js + shared/gfm-table.js
模块
用途
消费者
html-renderer.js
marked+katex+hljs 渲染工厂
md-to-pdf/html/word/image
placeholders.js
NUL 前缀统一占位符 + 泄漏断言
md-to-latex/rst/confluence
gfm-table.js
GFM 表格构造 (buildTable)
csv-to-md, json-to-md
md-table-parser.js
MD 表格解析 (parseTables)
md-table-to-csv
csv.js
RFC 4180 CSV 解析器+写入器
csv-to-md, md-table-to-csv
turndown-factory.js
反向转换共享工厂
html-to-md, word-to-md
browser-pool.js
Puppeteer 单例池
md-to-image/pdf, md-table-to-image/pdf
html-page.js
HTML 文档外壳
md-to-html/word/image
cli.js
统一 CLI 工具
全部 16 工具
markdownFomart/
├── README.md
├── REFACTOR_PLAN.md ← 重构方案(v2.0 蓝图)
├── package.json ← npm workspace 根配置
├── shared/ ← 共享模块(8 个)
│ ├── __tests__/ ← 共享模块测试(55 个)
│ ├── html-renderer.js
│ ├── placeholders.js
│ ├── gfm-table.js
│ ├── md-table-parser.js
│ ├── csv.js
│ ├── turndown-factory.js
│ ├── browser-pool.js
│ ├── html-page.js
│ └── cli.js
├── md-to-pdf/ ← Markdown → PDF (29 主题 + 美化)
│ └── lib/
│ ├── renderer.js ← 主题 CSS + KaTeX/hljs 注入
│ ├── templates.js ← 模板缓存 + 去重
│ ├── converter.js ← Puppeteer 适配
│ └── cli.js ← list / info / convert
├── md-to-html/ ← Markdown → HTML (暗色模式)
├── md-to-word/ ← Markdown → Word .doc (mso 样式)
├── md-to-image/ ← Markdown → PNG/JPG (高DPI/水印)
├── md-to-latex/ ← Markdown → LaTeX (CJK 检测)
├── md-to-rst/ ← Markdown → reStructuredText
├── md-to-confluence/ ← Markdown → Confluence wiki
├── md-to-text/ ← Markdown → 纯文本
├── html-to-md/ ← HTML → Markdown (GFM 表格)
├── word-to-md/ ← .docx → Markdown (GFM 表格)
├── pdf-to-md/ ← PDF → Markdown
├── csv-to-md/ ← CSV → MD Table (RFC 4180)
├── md-table-to-csv/ ← MD Table → CSV (空cell/转义)
├── json-to-md/ ← JSON → MD Table (union keys)
├── md-table-to-image/ ← MD Table → PNG (KaTeX/hljs)
└── md-table-to-pdf/ ← MD Table → PDF (KaTeX/hljs)
# 运行所有测试(84 个)
npm test
# 仅共享模块测试(55 个)
npm run test:shared
# 仅工具集成测试(17 个)
npm run test:tools
# 语法检查
npm run lint
表格工具:空 cell 保留、\| 转义、RFC 4180 CSV 引号、BOM、引号内分隔符检测
文本工具:图片/链接顺序修正、代码块占位符保护、粗斜体 *** 嵌套
LaTeX/RST:特殊字符转义、标题下划线长度匹配、脚注配对、CJK 支持
反向转换:GFM 表格 rule 补齐、无 thead 表格处理
抽取 8 个 shared 模块消除重复代码
全部 16 工具使用统一 CLI (shared/cli.js)
npm workspace 统一依赖版本
PDF : 代码块圆角+阴影+语言标签、表格斑马纹+sticky 表头、引用块彩色边框、admonition 块、封面页/TOC/页码 CSS
HTML : GitHub 风格 CSS、--theme dark 暗色模式、prefers-color-scheme 自动切换
Image : --scale 高 DPI、--watermark 水印、--padding/--bg 自定义
Word : mso 命名空间样式、@page Section1 页面设置
md-to.com
本工具 v2.0
运行方式
浏览器在线
命令行本地
编辑器
分屏实时预览
—
隐私
浏览器本地处理
完全本地,无网络依赖
批量处理
单个文件
支持脚本批量
集成
手动操作
可嵌入 CI/脚本
主题
—
29 个 PDF 主题 + 暗色模式
数据正确性
—
21 项 P0 bug 修复 + 84 回归测试
收费
免费
开源 MIT
MIT