ARTICLE · 1011530
一个工具把 PDF 表格掏净——试试 Excalibur,你会爱上这种“可视化抓表”方式
一个工具把 PDF 表格掏净——试试 Excalibur,你会爱上这种“可视化抓表”方式
说实话,PDF 里面的表格一直是办公里的拖延怪。直接复制粘贴变形、格式乱七八糟,要么手工重做一遍。Excalibur 就像一把「可视化的表格吸尘器」,把 PDF 里的表格抽出来,保存成 CSV/Excel/JSON,特别适合想把大量报表、发票、导出数据批量化的人。下面用比较接地气的方式,带你快速上手和避坑。
什么是 Excalibur简单一句话:Excalibur 是一个基于网页的 PDF 表格提取工具,后端用的是 Camelot(Python 写的)。它提供可视化界面,你可以上传 PDF、标注表格区域、选择提取策略,然后导出为常见数据格式。注意:只支持「可复制文本的 PDF」,也就是说如果是扫描件,需要先做 OCR。
它能解决哪些痛点(为什么要用它)
• 自动/半自动识别表格结构,省去手工重排的时间; • 可视化标注,非技术人员也能操作; • 提取后可直接导出 CSV/Excel/JSON,方便后续分析; • 设置和规则可以复用,批量处理同类报表更高效; • 全部在自己机器或公司服务器上跑,数据可控(不用发第三方)。 
快速命令参考(常用步骤)
安装指南(常见平台)
• Linux(Debian/Ubuntu):sudo apt-get install ghostscript • macOS(Homebrew):brew install ghostscript • Windows:用 choco 安装 或 从官网安装 Ghostscript 的安装包
装好依赖后:
pip install excalibur-pyexcalibur initdbexcalibur webserver# 然后在浏览器打开 http://localhost:5000也可以从 GitHub 克隆源码再 pip 安装:git clone https://github.com/camelot-dev/excalibur && cd excalibur && pip install .
如何用(实操流程,五步走)
1. 上传 PDF,指定需要的页面(或全部); 2. 逐页查看,手工用框圈选表格(也可以点“Autodetect tables”让它自动识别); 3. 在“Advanced”选项里选取提取方式(下面有对比表); 4. 点“View and download data”预览,确认无误后选择 CSV/Excel/JSON/HTML 下载; 5. 对同类文档可保存提取配置,批量应用。
优缺点一览表
总结总的来说,Excalibur 非常适合那种“表格量大但结构比较固定”的场景:财务报表、发票导出、批量报表抓取。它不是万能的,复杂合并单元格或扫描件仍需花工夫,但能把大量重复劳动自动化,省时又省心。想要做更深的二次开发,源码开放,也能接入 Camelot 的更多参数调整。要是你手边有一批 PDF 表格,花半小时玩一遍,很可能就能节省后续几天的手工活。
项目地址:https://github.com/camelot-dev/excalibur