为什么需要这个工具
搞科研、写文档的人大概都经历过这样的场景:手头一堆 PDF 论文或者 Word 文档,需要把里面的内容搬到 Markdown 里去——可能是为了写综述、整理笔记,也可能只是想把内容放到 Obsidian 或 Notion 里方便检索。
复制粘贴当然可以,但碰上扫描件、双栏排版、公式、表格、中英文混排,效果就一言难尽了。你还得手动处理图片、修复格式,遇到上百页的文档更是噩梦。
市面上也有一些在线转换工具,但把未发表的论文、内部报告传到别人服务器上,总归不太放心。
NuoYi(挪移)就是为了解决这个问题而写的。它基于 marker-pdf 和 surya OCR 引擎,首次运行下载模型之后,所有转换都在本地完成,完全不联网。支持 PDF 和 DOCX 两种格式,能自动提取图片、识别版面布局、处理多语言文档。有命令行、有图形界面。
适用场景
- 论文整理:把 PDF 论文批量转成 Markdown,方便在笔记工具中管理
- 文档迁移:将 Word 文档转为 Markdown 格式,用于 Git 仓库或静态网站
- 扫描件识别:支持 OCR,扫描件也能转
- 多语言文档:支持中、英、日、法、俄、德、西、葡、意、韩 10 种语言的混合识别
- 批量处理:整个目录一键转换,省时省力
- 离线使用:模型下载完成后无需联网,适合网络受限或对隐私敏感的环境
安装
环境准备
NuoYi 需要 Python 3.11 及以上版本。建议使用 conda 创建独立环境,避免依赖冲突:
conda create -n nuoyi python=3.12
conda activate nuoyi
安装 NuoYi
最简单的方式是从 PyPI 安装:
pip install nuoyi
如果需要图形界面,安装带 GUI 支持的版本:
pip install nuoyi[gui]
也可以从源码安装(适合开发或尝鲜最新代码):
git clone https://github.com/cycleuser/NuoYi.git
cd NuoYi
pip install -e .
模型下载
首次运行时,NuoYi 会自动从 Hugging Face 下载 surya 系列模型(版面检测、文字识别、阅读顺序等),总大小约 2-3 GB,存放在 ~/.cache/huggingface/hub/ 目录下。
大陆地区加速访问:如果下载速度较慢或连接不稳定,可以设置镜像来加速模型下载:
# 设置镜像(添加到 ~/.bashrc 可永久生效)
export HF_ENDPOINT=https://hf-mirror.com
# 然后正常运行 NuoYi 即可
nuoyi paper.pdf
模型下载完成后,后续使用完全不需要联网。
GPU 加速(可选)
NuoYi 默认自动检测 GPU。如果你的机器有 NVIDIA 显卡且显存 6GB 以上,会自动使用 GPU 加速转换,速度会快很多。显存不足时会自动切换到 CPU,不需要额外配置。
如果遇到 CUDA 显存不足的错误,也可以手动指定 CPU 模式:
nuoyi paper.pdf --device cpu
Apple Silicon Mac 用户可以使用 MPS 加速:
nuoyi paper.pdf --device mps
使用方法
命令行
# 转换单个 PDF
nuoyi paper.pdf
# 指定输出路径
nuoyi paper.pdf -o output/result.md
# 转换 Word 文档
nuoyi document.docx -o document.md
# 批量转换整个目录
nuoyi ./papers --batch
# 批量转换并指定输出目录
nuoyi ./papers --batch -o ./output
# 强制 OCR(扫描件或需要重新识别时使用)
nuoyi paper.pdf --force-ocr
# 只转换部分页面
nuoyi paper.pdf --page-range "0-5,10,15-20"
# 指定语言(提高特定语种识别准确率)
nuoyi paper.pdf --langs "zh,en,ja"
# 查看支持的语言列表
nuoyi --list-langs
图形界面
如果不习惯命令行,NuoYi 也提供了基于 PySide6 的图形界面:
nuoyi --gui
图形界面的操作流程很直观:选择输入目录和输出目录,勾选需要识别的语言,配置设备选项,点击开始转换即可。转换过程中有实时的进度条和日志输出。
启动界面

启动界面
选择输入目录

选择路径
配置设备和语言选项

选择模型
转换结果(在 VS Code 中查看)

结果
支持的语言
NuoYi 支持以下 10 种语言的识别,可以自由组合:
| 代码 | 语言 |
|---|---|
zh |
中文 |
en |
英语 |
ja |
日语 |
fr |
法语 |
ru |
俄语 |
de |
德语 |
es |
西班牙语 |
pt |
葡萄牙语 |
it |
意大利语 |
ko |
韩语 |
默认使用 zh,en(中英文混合),可以通过 --langs 参数或图形界面中的复选框来选择。
命令行参数速查
| 参数 | 说明 |
|---|---|
input |
输入文件或目录 |
-o, --output |
输出路径 |
--force-ocr |
强制 OCR |
--page-range |
页面范围,如 0-5,10,15-20 |
--langs |
语言列表,如 zh,en,ja |
--list-langs |
列出所有支持的语言 |
--batch |
批量处理目录 |
--device |
推理设备:auto / cpu / cuda / mps |
--gui |
启动图形界面 |
-V, --version |
显示版本号 |
注意事项
- 模型下载完成后,所有功能均可离线使用
- 不支持旧版
.doc格式,请先用 Word 或 LibreOffice 转为.docx - 转换效果取决于 PDF 本身的质量,扫描件建议开启
--force-ocr - 大文件转换可能需要较多内存,建议关闭其他占用显存的程序
项目地址
GitHub:https://github.com/cycleuser/NuoYi
欢迎 Star、提 Issue 或 PR。
开源协议:GPL-3.0
预览时标签不可点
Close
更多
Name cleared
微信扫一扫赞赏作者
Like the AuthorOther Amount
赞赏后展示我的头像
作品
暂无作品
Like the Author
Other Amount
¥
最低赞赏 ¥0
OK
Back
Other Amount
更多
赞赏金额
¥
最低赞赏 ¥0
1
2
3
4
5
6
7
8
9
0
.
虚拟化,操作系统,以及一些小工具 · 目录
虚拟化,操作系统,以及一些小工具
上一篇虚拟机黑苹果项目 OSX-KVM 简单解析:如何在 KVM 上运行 macOS下一篇Chou(瞅)——一个Python小工具,让你的论文PDF文件名不再是乱码
Close
更多
搜索「」网络结果
Close
调整当前正文文字大小
更多
100%