Markdown 转换
PasteMD 的核心功能是将 Markdown 格式的文本转换为 Word/WPS 文档。
基本用法
1. 复制 Markdown 文本
从任何地方复制 Markdown 内容:
markdown
# 标题一
这是一段**粗体**和*斜体*文本。
## 标题二
- 列表项 1
- 列表项 2
- 列表项 3
### 代码示例
\`\`\`python
def hello_world():
print("Hello, World!")
\`\`\`
> 这是一个引用块2. 触发转换
- 打开 Word 或 WPS 文字
- 定位光标到插入位置
- 按下热键(默认
Ctrl+Shift+B)
3. 查看结果
内容自动插入,所有格式完美保留:
- ✅ 标题层级
- ✅ 粗体/斜体
- ✅ 列表(有序/无序)
- ✅ 代码块(带语法高亮)
- ✅ 引用块
- ✅ 链接
- ✅ 图片
支持的 Markdown 语法
标题
markdown
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题转换为 Word 的"标题 1" 到"标题 6"样式。
强调
markdown
**粗体文本**
*斜体文本*
***粗斜体***
~~删除线~~
`行内代码`**text**→ 粗体*text*→ 斜体~~text~~→删除线`code`→ 灰色背景 + 等宽字体
列表
无序列表:
markdown
- 项目 1
- 项目 2
- 子项目 2.1
- 子项目 2.2
- 项目 3有序列表:
markdown
1. 第一步
2. 第二步
3. 第三步任务列表:
markdown
- [x] 已完成
- [ ] 未完成链接和图片
链接:
markdown
[PasteMD GitHub](https://github.com/RichQAQ/PasteMD)转换为可点击的超链接。
图片:
markdown
图片会被下载并嵌入到文档中。
代码块
单行代码:
markdown
使用 `print()` 函数输出。多行代码块:
markdown
```python
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
```语法高亮: 支持 100+ 编程语言的语法高亮(如果使用了支持的 Pandoc 版本和参考模板)。
引用
markdown
> 这是一个引用块。
> 可以包含多行。
>
> > 嵌套引用表格
markdown
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| A | B | C |
| D | E | F |TIP
表格会根据当前应用自动选择转换方式:
- Word/WPS 文字:转换为 Word 表格
- Excel/WPS 表格:转换为工作表(保留格式)
详见 Excel 表格。
分隔线
markdown
---转换为水平线。
数学公式
PasteMD 完美支持 LaTeX 数学公式。详见 数学公式。
高级语法
脚注
markdown
这是文本[^1]。
[^1]: 这是脚注内容。定义列表
markdown
术语
: 定义内容上标/下标
markdown
H~2~O
x^2^注意
高级语法的支持取决于 Pandoc 的扩展选项。部分语法可能需要自定义过滤器。
HTML 嵌入
Markdown 中可以直接嵌入 HTML:
markdown
这是 <span style="color: red;">红色文本</span>。
<div style="background: #f0f0f0; padding: 10px;">
自定义样式的块
</div>TIP
PasteMD 会保留大部分 HTML 标签的样式,但复杂的 CSS 可能不被完全支持。
文件引用
PasteMD 支持从文件管理器复制 .md 文件:
- 在文件管理器中选中一个或多个
.md文件 - 复制(
Ctrl+C) - 打开 Word
- 按热键
PasteMD 会:
- 读取所有文件内容
- 按文件名顺序合并
- 转换并插入
自定义样式
使用参考模板
在配置文件中指定参考 DOCX:
json
{
"reference_docx": "~/Documents/my-template.docx"
}参考模板可以定义:
- 标题样式(字体、大小、颜色)
- 正文样式
- 代码块样式
- 列表样式
- 页面布局(页边距、页眉页脚)
创建参考模板:
- 在 Word 中创建新文档
- 修改样式(开始 → 样式 → 右键修改):
- 标题 1-6
- 正文
- 代码
- 引用
- 保存为
.docx
预处理器
PasteMD 在转换前会预处理 Markdown 内容:
标准化换行
修复不同平台的换行符差异(\r\n vs \n)。
规范化列表
修复列表缩进和标记不一致的问题。
首段缩进处理
根据 md_disable_first_para_indent 配置,自动处理首段缩进。
转换流程
mermaid
graph TD
A[剪贴板 Markdown] --> B[预处理器]
B --> C[Markdown 标准化]
C --> D[Pandoc 转换]
D --> E[DOCX 文件]
E --> F[后处理]
F --> G[插入到 Word]详细步骤:
- 读取剪贴板:获取 Markdown 文本或文件路径
- 预处理:
- 标准化换行符
- 处理 LaTeX 公式
- 修复常见语法问题
- Pandoc 转换:
- 调用 Pandoc CLI
- 应用自定义过滤器
- 使用参考模板
- 后处理:
- 调整首段样式
- 优化表格格式
- 插入应用:
- Windows: COM 自动化
- macOS: AppleScript 或剪贴板
常见问题
中文字符显示异常
原因:参考模板的字体不支持中文。
解决:
- 在参考模板中设置支持中文的字体(如宋体、微软雅黑)
- 或不使用参考模板(使用 Word 默认字体)
代码块没有语法高亮
原因:Pandoc 默认不生成语法高亮。
解决:
- 使用 Pandoc 2.7.3+ 版本
- 在参考模板中定义代码块样式
- 或使用自定义过滤器(如
pandoc-highlighting)
列表缩进不正确
原因:参考模板的列表样式定义问题。
解决:
- 在 Word 参考模板中调整列表样式
- 设置正确的缩进和编号格式
图片无法显示
原因:
- 网络图片无法访问
- 图片格式不支持
解决:
- 确保网络连接正常
- 使用常见格式(JPG、PNG、GIF)
- 或使用本地图片路径
