标题 · 段落 · 列表 · 表格 · 本地解析

本地处理 · 文件不上传

PDF转Markdown工具:还原结构,直接可用

把 PDF 拖进来,在浏览器本地提取文字与坐标,按阅读顺序还原成标题、段落、列表和表格。文本型 PDF 效果最好;扫描件需要先做 OCR。转换完成后可直接复制,或下载 .md 文件。

  1. 1 上传拖入或点选 PDF
  2. 2 设置并转换页码与结构选项
  3. 3 复制或下载Markdown / .md
把 PDF 拖到此处,或点击选择文件
单次 1 个文件,不超过 50MB;单次最多转换 200 页 · 扫描件请先 OCR
已上传的文件

还没有文件

转换设置

留空页码 = 转换全部
上传后显示总页数
超过 200 页请用页码范围分段转换。

核心能力

解析、还原、输出,都在一个页面里完成
01

文档类型判断

根据每页可提取的字符量与文本块密度,判断是文本型、扫描型还是混合型,并给出置信度,避免对扫描件生成空文档。

02

阅读顺序还原

按文字坐标聚合成行,再按基线从上到下排序;识别左右两栏版式时先读完左栏再读右栏,而不是按 PDF 内部对象顺序硬排。

03

表格结构识别

利用行内空档切分单元格,检查连续多行的列位置是否对齐,输出标准 | 表头 | 语法,数字列自动右对齐。

04

字号分级标题

统计正文主字号,按相对倍率把更大的行判为 # / ## / ###;配合加粗信息区分小节标题。

05

语义化输出

输出标题、段落、无序/有序列表、表格与粗体,可选插入页码标记、去除页眉页脚、修复英文跨行连字符。

06

零上传、可离线

解析完全在浏览器内完成,PDF 字节不经过任何服务器;部署到网站目录后可离线使用,适合合同、财报等敏感文档。

一次解析,五个阶段

把「读 PDF」和「写 Markdown」拆开,每一步都可单独检查
① 载入
读取 PDF 字节,解析文档目录与页数
② 提取
逐页取出文字、字号、坐标、字体名
③ 成行
按基线聚合文本块,计算每行字号与加粗
④ 结构
判定标题层级、列表、表格、页眉页脚
⑤ 输出
生成 Markdown 与结构化元信息
输入
PDF 字节(本地)
输出
结构化 Markdown
引擎
pdf.js 3.11(浏览器内)
依赖
随页面本地打包

关于这个PDF转Markdown工具

pdf.js 引擎 · 本地解析 · 离线可用

PDF转Markdown工具用 Mozilla 开源的 pdf.js 在浏览器里读取 PDF 的文字层,拿到每个字的内容、字号、坐标与字体名,再按版式重新组织成 Markdown。整个过程只发生在当前标签页,PDF 不会上传到任何服务器,也不需要账号或网络请求。

能做什么

  • 结构还原:按字号相对倍率识别标题层级,按行基线合并段落,识别有序 / 无序列表。
  • 表格识别:连续多行的单元格列位置对齐时,输出标准 Markdown 表格;数字列自动右对齐。
  • 版面清理:可选去除重复页眉页脚、修复英文跨行连字符、合并段落内断行。
  • 分页与标记:支持 1-5,8,10-12 页码范围,也可插入 <!-- 第 N 页 --> 方便回溯。
  • 直接交付:结果可一键复制,或下载为 原文件名.md。

怎么用(三步)

  1. 上传:拖入或选择一个 PDF(单个不超过 50MB)。
  2. 设置:填写页码范围(留空=全部),按需调整标题灵敏度与表格识别,点「开始转换」。
  3. 导出:检查输出,切换到「结构化信息」核对识别统计,然后复制或下载 .md。

扫描版 PDF 没有文字层:页面会明确提示「未提取到文字」,不会产出空文档;请先 OCR 再转换。

常见问题

文件会上传吗?会不会泄露?

不会。PDF 用浏览器本地读取,pdf.js 在当前标签页里完成解析和文字提取,没有服务器落盘、没有日志、没有账号。关掉页面就什么都不剩。

为什么不能直接双击 index.html 打开?

浏览器对 file:// 下的 Web Worker 与部分脚本读取有安全限制。请用任意静态服务器打开(例如在本目录执行 python -m http.server 8080,然后访问 http://localhost:8080),或部署到网站目录。

扫描件、图片型 PDF 能转吗?

不能直接转。扫描件本身没有可选中的文字层,提取不到内容时会提示「未提取到文字」,不会生成空文档。需要先做 OCR,再拿加了文字层的 PDF 来转换。

表格为什么没有识别出来?

表格识别要求连续多行的单元格列位置基本对齐,并且每行有足够多的分栏。合并单元格多、表格线复杂,或只有两列且很窄时,可能退化成普通文本行。这种情况可以把「表格处理」改成「保留为普通文本行」再手动整理。

标题层级不对怎么办?

先调「标题识别灵敏度」:保守只认明显大字号,激进在字号略大时就分级。判定依据是当前行字号除以正文主字号的倍率,默认 1.18;以句号、问号等结尾的长行不会被判成标题。两档都不合适时,说明这份 PDF 的版式不适合自动分级,建议手工整理。

为什么部分文字顺序怪怪的?

PDF 内部不一定按阅读顺序存储文字。本工具按文字坐标聚合成行,并对左右两栏版式做重排,但复杂图文混排、脚注、侧边栏仍可能出错。发现错位时可以分段转换,或只转换正文页码,减少版式干扰。

加密或损坏的 PDF 怎么办?

需要口令的 PDF 会提示「已加密」,请先用 PDF 工具去掉口令再上传;不是有效 PDF 或文件损坏时,会给出对应的错误提示。支持单文件不超过 50MB、单次最多 200 页。

离线使用说明:本页面完全在浏览器本地运行,不上传任何数据;生成的 Markdown 不依赖网络,复制或下载即可使用。