一个功能强大的命令行工具,专为中文用户设计,可以将 Markdown 文件转换为精美的 PDF 文档。
- 🇨🇳 完美中文支持 - 使用 Noto 字体系列,完美渲染中文字符
- 📊 Mermaid 图表 - 支持流程图、时序图等各种图表
- 👀 监视模式 - 自动检测文件变化并重新生成 PDF
- 📚 批量处理 - 支持 glob 模式批量转换多个文件
- 🎨 主题支持 - 支持浅色和深色主题
- ⚡ 零配置 - 开箱即用的合理默认设置
npm install -g md2pdf或者在项目中本地安装:
npm install md2pdf# 转换单个文件
md2pdf -i README.md
# 指定输出文件
md2pdf -i document.md -o 我的文档.pdf# 监视文件变化,自动重新生成
md2pdf -i document.md --watch# 批量转换当前目录下所有 .md 文件
md2pdf --batch "*.md"
# 批量转换指定目录
md2pdf --batch "docs/**/*.md"# 使用深色主题
md2pdf -i document.md --theme dark支持所有标准 Markdown 语法,包括:
- 标题 (H1-H6)
- 粗体 和 斜体
- 有序和无序列表
- 链接和图片
- 代码块和行内代码
- 表格
- 引用块
# 项目介绍
这是一个**支持中文**的 Markdown 转 PDF 工具。
## 功能特点
1. 完美的中文字体渲染
2. 支持各种图表
3. 响应式布局
> 注意:请确保使用 UTF-8 编码保存 Markdown 文件。
| 功能 | 支持程度 |
|------|----------|
| 中文字符 | ✅ 完全支持 |
| Mermaid | ✅ 完全支持 |
| 数学公式 | 🚧 计划中 |\`\`\`mermaid
graph TD
A[开始] --> B{是否为中文?}
B -->|是| C[使用中文字体]
B -->|否| D[使用英文字体]
C --> E[生成PDF]
D --> E
\`\`\`| 选项 | 简写 | 描述 | 默认值 |
|---|---|---|---|
--input |
-i |
输入的 Markdown 文件 | 必需 |
--output |
-o |
输出的 PDF 文件 | 自动生成 |
--watch |
-w |
监视文件变化 | false |
--batch |
-b |
批量处理模式 | - |
--theme |
- | 主题 (light/dark) | light |
- 使用 Noto Sans SC 和 Noto Serif SC 字体
- 针对中文优化的行高和字间距
- A4 页面大小,20mm 边距
- 代码块语法高亮
- 表格和图片的美观样式
- 适合打印的页面布局
# 克隆项目
git clone <repository-url>
cd md2pdf
# 安装依赖
npm install
# 运行示例
node index.js -i README.md项目包含以下示例文件:
examples/chinese-demo.md- 中文功能演示examples/mermaid-charts.md- Mermaid 图表示例examples/technical-doc.md- 技术文档模板
欢迎提交 Issue 和 Pull Request!
ISC
A: 确保系统已安装 Noto 字体,或者 Puppeteer 能够访问网络加载字体。
A: 请确保网络连接正常,工具需要从 CDN 加载 Mermaid 库。
A: 尝试优化 Markdown 中的图片大小,或使用压缩工具处理生成的 PDF。